From: Jan Djärv Date: Sat, 1 Mar 2008 14:59:17 +0000 (+0000) Subject: (handle_one_xevent): For Gtk+ and ConfigureNotify, call X-Git-Tag: emacs-pretest-23.0.90~7544 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=7ee480ce4f5df93c16313a50e11f0afe04477d01;p=emacs.git (handle_one_xevent): For Gtk+ and ConfigureNotify, call xg_frame_resized when the event is for the edit widget. --- diff --git a/src/ChangeLog b/src/ChangeLog index b1fb4fe5464..5bc47181e4e 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,22 @@ +2008-03-01 Jan Dj$(Q)Z(Brv + + * 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 * w32fns.c (w32_msg_pump): Disable debug code. diff --git a/src/xterm.c b/src/xterm.c index 6c16bd89ce6..55582b5c10d 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.