[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] emacs/src xmenu.c
From: |
YAMAMOTO Mitsuharu |
Subject: |
[Emacs-diffs] emacs/src xmenu.c |
Date: |
Wed, 18 Mar 2009 08:37:33 +0000 |
CVSROOT: /cvsroot/emacs
Module name: emacs
Changes by: YAMAMOTO Mitsuharu <mituharu> 09/03/18 08:37:33
Modified files:
src : xmenu.c
Log message:
(xdialog_show): Move Fredisplay call ...
(Fx_popup_dialog): ... here.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/emacs/src/xmenu.c?cvsroot=emacs&r1=1.339&r2=1.340
Patches:
Index: xmenu.c
===================================================================
RCS file: /cvsroot/emacs/emacs/src/xmenu.c,v
retrieving revision 1.339
retrieving revision 1.340
diff -u -b -r1.339 -r1.340
--- xmenu.c 8 Jan 2009 03:16:12 -0000 1.339
+++ xmenu.c 18 Mar 2009 08:37:33 -0000 1.340
@@ -604,6 +604,17 @@
if (! FRAME_X_P (f) && ! FRAME_MSDOS_P (f))
error ("Can not put X dialog on this terminal");
+ /* Force a redisplay before showing the dialog. If a frame is created
+ just before showing the dialog, its contents may not have been fully
+ drawn, as this depends on timing of events from the X server. Redisplay
+ is not done when a dialog is shown. If redisplay could be done in the
+ X event loop (i.e. the X event loop does not run in a signal handler)
+ this would not be needed.
+
+ Do this before creating the widget value that points to Lisp
+ string contents, because Fredisplay may GC and relocate them. */
+ Fredisplay (Qt);
+
#if ! defined (USE_X_TOOLKIT) && ! defined (USE_GTK)
/* Display a menu with these alternatives
in the middle of frame F. */
@@ -2448,14 +2459,6 @@
/* No selection has been chosen yet. */
menu_item_selection = 0;
- /* Force a redisplay before showing the dialog. If a frame is created
- just before showing the dialog, its contents may not have been fully
- drawn, as this depends on timing of events from the X server. Redisplay
- is not done when a dialog is shown. If redisplay could be done in the
- X event loop (i.e. the X event loop does not run in a signal handler)
- this would not be needed. */
- Fredisplay (Qt);
-
/* Actually create and show the dialog. */
create_and_show_dialog (f, first_wv);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] emacs/src xmenu.c,
YAMAMOTO Mitsuharu <=