aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJan Djärv <[email protected]>2008-03-01 14:59:17 +0000
committerJan Djärv <[email protected]>2008-03-01 14:59:17 +0000
commit7ee480ce4f5df93c16313a50e11f0afe04477d01 (patch)
treed44cefe360140fa387cb6e9cea0074db31771f0c /src
parentfc467bc4d2d98f503bdc42dcb5ac9a74e5a692a7 (diff)
(handle_one_xevent): For Gtk+ and ConfigureNotify, call
xg_frame_resized when the event is for the edit widget.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog19
-rw-r--r--src/xterm.c19
2 files changed, 32 insertions, 6 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index b1fb4fe546..5bc47181e4 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,22 @@
+2008-03-01 Jan Dj$(Q)Z(Brv <[email protected]>
+
+ * 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 <[email protected]>
* w32fns.c (w32_msg_pump): Disable debug code.
diff --git a/src/xterm.c b/src/xterm.c
index 6c16bd89ce..55582b5c10 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -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.