]> git.eshelyaron.com Git - emacs.git/commitdiff
(handle_one_xevent): For Gtk+ and ConfigureNotify, call
authorJan Djärv <jan.h.d@swipnet.se>
Sat, 1 Mar 2008 14:59:17 +0000 (14:59 +0000)
committerJan Djärv <jan.h.d@swipnet.se>
Sat, 1 Mar 2008 14:59:17 +0000 (14:59 +0000)
xg_frame_resized when the event is for the edit widget.

src/ChangeLog
src/xterm.c

index b1fb4fe54641c6713b104140dc19864fa95eadf1..5bc47181e4e0526a5561a6b3ac96da8fbb558061 100644 (file)
@@ -1,3 +1,22 @@
+2008-03-01  Jan Dj\e$(Q)Z\e(Brv  <jan.h.d@swipnet.se>
+
+       * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
+       xg_frame_resized when the event is for the edit widget.
+
+       * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
+
+       * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
+       set_char_size.
+       (xg_frame_resized): Renamed from xg_resize_widgets.  Remove all
+       operations on widgets here.  Just set frame size if needed.
+       (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
+       (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
+       (x_wm_set_size_hint): Set size hints on the edit widget only, not
+       the whole frame.
+       (xg_create_tool_bar): Move attachement of the tool bar to
+       xg_pack_tool_bar.  Do not attach the tool bar if there are no items.
+       (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
+
 2008-03-01  Jason Rumney  <jasonr@gnu.org>
 
        * w32fns.c (w32_msg_pump): Disable debug code.
index 6c16bd89ce671a250865bfc3700acc6400311124..55582b5c10d14890503932f0d327a79cee80ca0d 100644 (file)
@@ -6988,13 +6988,20 @@ handle_one_xevent (dpyinfo, eventp, finish, hold_quit)
 
     case ConfigureNotify:
       f = x_top_window_to_frame (dpyinfo, event.xconfigure.window);
+#ifdef USE_GTK
+      if (!f
+          && (f = x_any_window_to_frame (dpyinfo, event.xconfigure.window))
+          && event.xconfigure.window == FRAME_X_WINDOW (f))
+        {
+          xg_frame_resized (f, event.xconfigure.width,
+                            event.xconfigure.height);
+          f = 0;
+        }
+#endif  
       if (f)
         {
 #ifndef USE_X_TOOLKIT
-#ifdef USE_GTK
-          xg_resize_widgets (f, event.xconfigure.width,
-                             event.xconfigure.height);
-#else /* not USE_GTK */
+#ifndef USE_GTK
           /* If there is a pending resize for fullscreen, don't
              do this one, the right one will come later.
              The toolkit version doesn't seem to need this, but we
@@ -7024,11 +7031,11 @@ handle_one_xevent (dpyinfo, eventp, finish, hold_quit)
               SET_FRAME_GARBAGED (f);
               cancel_mouse_face (f);
             }
-#endif /* not USE_GTK */
-#endif
 
           FRAME_PIXEL_WIDTH (f) = event.xconfigure.width;
           FRAME_PIXEL_HEIGHT (f) = event.xconfigure.height;
+#endif /* not USE_GTK */
+#endif
 
 #ifdef USE_GTK
           /* GTK creates windows but doesn't map them.