]> git.eshelyaron.com Git - emacs.git/commitdiff
Make things more consistent with 2010-01-09 changes of YAMAMOTO Mitsuharu.
authorYAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
Sun, 11 Apr 2010 00:59:04 +0000 (03:59 +0300)
committerJuri Linkov <juri@jurta.org>
Sun, 11 Apr 2010 00:59:04 +0000 (03:59 +0300)
http://lists.gnu.org/archive/html/emacs-devel/2010-04/msg00420.html

src/window.h
src/xfns.c
src/xterm.c

index 53419215883e4655d57996cb9b862d4e7c833730..5e142ebebc4582ef7113f7ca490e300eccf542a5 100644 (file)
@@ -415,11 +415,17 @@ struct window
   (WINDOWP (WINDOW_XFRAME (W)->tool_bar_window) \
    && (W) == XWINDOW (WINDOW_XFRAME (W)->tool_bar_window))
 
+/* 1 if W is a tab bar window.  */
+
+#define WINDOW_TAB_BAR_P(W) \
+  (WINDOWP (WINDOW_XFRAME (W)->tab_bar_window) \
+   && (W) == XWINDOW (WINDOW_XFRAME (W)->tab_bar_window))
+
 /* Return the frame y-position at which window W starts.
    This includes a header line, if any.  */
 
 #define WINDOW_TOP_EDGE_Y(W) \
-  (((WINDOW_MENU_BAR_P (W) || WINDOW_TOOL_BAR_P (W)) \
+  (((WINDOW_MENU_BAR_P (W) || WINDOW_TOOL_BAR_P (W) || WINDOW_TAB_BAR_P (W)) \
     ? 0 : FRAME_INTERNAL_BORDER_WIDTH (WINDOW_XFRAME (W))) \
    + WINDOW_TOP_EDGE_LINE (W) * WINDOW_FRAME_LINE_HEIGHT (W))
 
@@ -427,7 +433,7 @@ struct window
    This includes a mode line, if any.  */
 
 #define WINDOW_BOTTOM_EDGE_Y(W) \
-  (((WINDOW_MENU_BAR_P (W) || WINDOW_TOOL_BAR_P (W)) \
+  (((WINDOW_MENU_BAR_P (W) || WINDOW_TOOL_BAR_P (W) || WINDOW_TAB_BAR_P (W)) \
     ? 0 : FRAME_INTERNAL_BORDER_WIDTH (WINDOW_XFRAME (W))) \
    + WINDOW_BOTTOM_EDGE_LINE (W) * WINDOW_FRAME_LINE_HEIGHT (W))
 
index 3ac290d13eaaf8272b0e2869f6eada43f64d9ca9..4d2a6986b116fa48690b3e0c42b0e7557b9f6390 100644 (file)
@@ -1540,7 +1540,8 @@ x_set_tab_bar_lines (f, value, oldval)
     {
       int height = FRAME_INTERNAL_BORDER_WIDTH (f);
       int width = FRAME_PIXEL_WIDTH (f);
-      int y = nlines * FRAME_LINE_HEIGHT (f);
+      int y = (FRAME_MENU_BAR_LINES (f) + FRAME_TOOL_BAR_LINES (f)
+              + nlines) * FRAME_LINE_HEIGHT (f);
 
       /* height can be zero here. */
       if (height > 0 && width > 0)
index 50fbd6ce36df0244ab4cdd5601f7c27aedf1ee0c..549fa5f1cd7fc832023b0ca8381f55339684db72 100644 (file)
@@ -751,11 +751,6 @@ x_after_update_window_line (desired_row)
     {
       int y = WINDOW_TO_FRAME_PIXEL_Y (w, max (0, desired_row->y));
 
-      /* Internal border is drawn below the tab bar.  */
-      if (WINDOWP (f->tab_bar_window)
-         && w == XWINDOW (f->tab_bar_window))
-       y -= width;
-
       BLOCK_INPUT;
       x_clear_area (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f),
                    0, y, width, height, False);