emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: address@hidden: [21.2.90]: Lesstif menu placement after frame resize


From: Jan D.
Subject: Re: address@hidden: [21.2.90]: Lesstif menu placement after frame resize]
Date: Sun, 6 Oct 2002 01:37:26 +0200 (CEST)

>     I've checked in this fix in CVS.  Should it go in RC also?
> 
> How safe do you think it is?  Might it cause trouble on some system?

Pretty safe.  But there is a much simpler solution that is 100% safe,
and removes the need for any workaround.  Patch below (in CVS).
See also my reply to Harald Maier in this thread.

        Jan D.

Index: src/ChangeLog
*** src/ChangeLog.~1.2893.~     2002-10-06 01:22:42.000000000 +0200
--- src/ChangeLog       2002-10-06 01:30:19.000000000 +0200
***************
*** 1,3 ****
--- 1,10 ----
+ 2002-10-06  Jan D.  <address@hidden>
+ 
+       * xterm.c (XTread_socket): Fix from 2002-10-03 didn't cover all
+       cases.  The correct fix is to pass ReparentNotify to Xt.
+       The shell widget interprets ConfigureNotify differently depending
+       on if it has been reparented or not.
+ 
  2002-10-05  Markus Rost  <address@hidden>
  
        * editfns.c (Fformat_time_string): Doc fix.
Index: src/xterm.c
*** src/xterm.c.~1.754.~        2002-10-03 19:44:17.000000000 +0200
--- src/xterm.c 2002-10-06 01:31:18.000000000 +0200
***************
*** 10443,10448 ****
--- 10443,10449 ----
                  x_real_positions (f, &x, &y);
                  f->output_data.x->left_pos = x;
                  f->output_data.x->top_pos = y;
+                   goto OTHER;
                }
              break;
  
***************
*** 11173,11204 ****
                      f->output_data.x->win_gravity = NorthWestGravity;
                      x_wm_set_size_hint (f, (long) 0, 0);
                    }
- #ifdef USE_MOTIF
-                 /* Some window managers pass (0,0) as the location of
-                    the window, and the Motif event handler stores it
-                    in the emacs widget, which messes up Motif menus.  */
-                 if (event.xconfigure.x == 0 && event.xconfigure.y == 0)
-                   {
-                       Window child;
-                     int count;
- 
-                     /* We can get a ConfigureNotify because of a resize,
-                        so we can't just take x and y from the widget.
-                        Since this event may come on something else than
-                        the top level window,  we can't use x_real_position
-                        either.  So we get the root window x/y for 0/0 in
-                        the window in the event. */
-                     count = x_catch_errors (FRAME_X_DISPLAY (f));
-                       XTranslateCoordinates (FRAME_X_DISPLAY (f),
-                                              event.xconfigure.window,
-                                              FRAME_X_DISPLAY_INFO 
(f)->root_window,
-                                              0, 0,
-                                              &event.xconfigure.x,
-                                              &event.xconfigure.y,
-                                              &child);
-                     x_uncatch_errors (FRAME_X_DISPLAY (f), count);
-                   }
- #endif /* USE_MOTIF */
                }
              goto OTHER;
  
--- 11174,11179 ----




reply via email to

[Prev in Thread] Current Thread [Next in Thread]