diff src/gui-x.c @ 408:501cfd01ee6d r21-2-34

Import from CVS: tag r21-2-34
author cvs
date Mon, 13 Aug 2007 11:18:11 +0200
parents b8cc9ab3f761
children 697ef44129c6
line wrap: on
line diff
--- a/src/gui-x.c	Mon Aug 13 11:17:10 2007 +0200
+++ b/src/gui-x.c	Mon Aug 13 11:18:11 2007 +0200
@@ -229,10 +229,6 @@
   VOID_TO_LISP (data, client_data);
   XSETFRAME (frame, f);
 
-  image_instance = XCAR (data);
-  callback = XCAR (XCDR (data));
-  callback_ex = XCDR (XCDR (data));
-
 #if 0
   /* #### What the hell?  I can't understand why this call is here,
      and doing it is really courting disaster in the new event
@@ -255,6 +251,9 @@
     }
   else
     {
+      image_instance = XCAR (data);
+      callback = XCAR (XCDR (data));
+      callback_ex = XCDR (XCDR (data));
       update_subwindows_p = 1;
 
       if (!NILP (callback_ex) && !UNBOUNDP (callback_ex))
@@ -294,16 +293,9 @@
   if (!NILP (event))
     enqueue_Xt_dispatch_event (event);
   /* The result of this evaluation could cause other instances to change so 
-     enqueue an update callback to check this. We also have to make sure that
-     the function does not appear in the command history.
-     #### I'm sure someone can tell me how to optimize this. */
+     enqueue an update callback to check this. */
   if (update_subwindows_p && !NILP (event))
-    signal_special_Xt_user_event (frame, Qeval,
-				  list3 (Qlet,
-					 list2 (Qthis_command,
-						Qlast_command),
-					 list2 (Qupdate_widget_instances,
-						frame)));
+    enqueue_magic_eval_event (update_widget_instances, frame);
 }
 
 #if 1