[Top][All Lists]
[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: |
Thu, 3 Oct 2002 20:02:41 +0200 (CEST) |
> Are there any X wizards out there who might be able to
> investigate this?
>
> ------- Start of forwarded message -------
> Envelope-to: address@hidden
> Delivery-date: Thu, 19 Sep 2002 09:29:43 -0400
> X-VirusChecked: Checked
> From: "Marshall, Simon" <address@hidden>
> To: 'Emacs Pretest Bug' <address@hidden>
> Subject: [21.2.90]: Lesstif menu placement after frame resize
> Date: Thu, 19 Sep 2002 14:29:34 +0100
> X-Spam-Status: No, hits=1.1 required=5.0
> tests=DOUBLE_CAPSWORD
> version=2.31
> X-Spam-Level: *
>
> With the above build configuration, start emacs -q.
> Open the Tools menu; it drops down below the Tools menu name.
> The menu is top left aligned with the bottom left of the name. OK.
> Resize the frame (wider or smaller) from the left edge.
> Open the Tools menu.
>
> Now it drops down below where the Tools menu name used to be, not
> where it is following the resize.
>
> In case it's relevant, this is with Solaris CDE 1.2 via Exceed 6.2.
> It applies to any of the menus, including Help.
Yes, this only happens with CDE to my knowledge. It is because a workaround
for bad ConfigureNotify events that doesn't take into account position
changes because of resize. This bug is at least as old as Emacs 21.1
(the oldest I got), but could be older.
I've checked in this fix in CVS. Should it go in RC also?
Jan D.
Index: xterm.c
*** xterm.c.~1.753.~ 2002-10-03 19:25:46.000000000 +0200
--- xterm.c 2002-10-03 19:44:17.000000000 +0200
***************
*** 11179,11186 ****
in the emacs widget, which messes up Motif menus. */
if (event.xconfigure.x == 0 && event.xconfigure.y == 0)
{
! event.xconfigure.x = f->output_data.x->widget->core.x;
! event.xconfigure.y = f->output_data.x->widget->core.y;
}
#endif /* USE_MOTIF */
}
--- 11179,11202 ----
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 */
}
- Re: address@hidden: [21.2.90]: Lesstif menu placement after frame resize],
Jan D. <=
Re: address@hidden: [21.2.90]: Lesstif menu placement after frame resize], Harald . Maier . BW, 2002/10/05