Bug 229350 - Motif pull-down menus don't draw correctly with Xnest
Summary: Motif pull-down menus don't draw correctly with Xnest
Alias: None
Product: Fedora
Classification: Fedora
Component: xorg-x11-server   
(Show other bugs)
Version: rawhide
Hardware: i686 Linux
Target Milestone: ---
Assignee: Adam Jackson
QA Contact:
Keywords: Patch
: 229354 (view as bug list)
Depends On:
TreeView+ depends on / blocked
Reported: 2007-02-20 15:32 UTC by Esteban Xandri
Modified: 2018-04-11 09:03 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2007-04-09 23:03:10 UTC
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

Description Esteban Xandri 2007-02-20 15:32:51 UTC
Description of problem:
Motif pull-down menus don't draw correctly with Xnest 

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1.Xnest -pn :1 &
2.twm -display :1 (or any other window manager like xfwm, etc.)
3.run a motif app
Actual results:
After selecting a pull-down menu in a motif app, not all the expected menu 
items are visible. After several clicks on expected list items locations in the 
menus, some of them appear. 

Expected results:
Proper display of all menu items in pull-down menus

Additional info:
After a google search I found that this bug is also reported in OpenSolaris 
bugs database with Id 6366490 
In this case a patch for this bug has recently been released
I also tested the same motif app with vncserver and vncviewer and runs fine.

Comment 1 Matěj Cepl 2007-02-28 08:17:52 UTC
*** Bug 229354 has been marked as a duplicate of this bug. ***

Comment 2 Matěj Cepl 2007-03-20 19:44:15 UTC
This is the reply I got from Alan Coopersmith when asked about the Solaris
solution to this bug:

Unfortunately, it was fixed in the Xnest built out of our Xsun tree,
which isn't open source.   The Xnest part is fortunately unencumbered
and the fix was small:

  --- xc/programs/Xserver/hw/xnest/Events.c     2004-10-18 15:18:34.025880000 -0700
  +++ xc/programs/Xserver/hw/xnest/Events.c     2006-05-02 17:34:58.127524000 -0700
  @@ -81,7 +81,7 @@
     while (XCheckIfEvent(xnestDisplay, &X, xnestExposurePredicate, NULL)) {
       pWin = xnestWindowPtr(X.xexpose.window);

  -    if (pWin) {
  +    if (pWin && X.xexpose.width  && X.xexpose.height) {
         Box.x1 = pWin->drawable.x + wBorderWidth(pWin) + X.xexpose.x;
         Box.y1 = pWin->drawable.y + wBorderWidth(pWin) + X.xexpose.y;
         Box.x2 = Box.x1 + X.xexpose.width;
  @@ -89,7 +89,7 @@

         REGION_INIT(pWin->drawable.pScreen, &Rgn, &Box, 1);

  -      miWindowExposures(pWin, &Rgn, NullRegion);
  +      miSendExposures(pWin, &Rgn, Box.x2, Box.y2);

I've cc'ed the engineer who worked on it, since he could answer any
questions on why this works better than I can.

        -Alan Coopersmith-           alan.coopersmith@sun.com
         Sun Microsystems, Inc. - X Window System Engineering

Comment 3 Adam Jackson 2007-04-09 23:03:10 UTC
Will be fixed in

Note You need to log in before you can comment on or make changes to this bug.