Inability to open menus or context menus under Cygwin/X

RESOLVED FIXED in mozilla8



Event Handling
6 years ago
4 years ago


(Reporter: jesup, Assigned: karlt)




Firefox Tracking Flags



(Whiteboard: [inbound])


(3 attachments, 1 obsolete attachment)



6 years ago
Sometime between "hg update -d 2011-07-11" and changeset 2ff6999222c2 (on 2011-7-12) my m-c build started failing to be able to open any window menus or open context menus.  Tried both clobber and removing the entire obj directory to rule out a build issue.

OS: Ubuntu 8.04
Running via remote X

. $topsrcdir/browser/config/mozconfig
ac_add_options --disable-debug
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-@CONFIG_GUESS@-opt
# mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-@CONFIG_GUESS@-debug

mk_add_options AUTOCONF=autoconf2.13
mk_add_options MOZ_MAKE_FLAGS="-s -j4"
ac_add_options --enable-jprof
ac_add_options --disable-strip
ac_add_options --with-ccache=/usr/local/bin/ccache
ac_add_options --enable-debugger-info-modules
ac_add_options --enable-optimize="-g -O3 -fno-omit-frame-pointer" 


Comment 1

6 years ago
Done with bisect, changeset

The first bad revision is:
changeset:   72599:d6e1995bcdd6
user:        Karl Tomlinson <>
date:        Fri Jul 08 15:14:27 2011 +1200
files:       widget/src/gtk2/nsWindow.cpp
b=624329 skip NS_MOVE dispatch on ConfigureNotify on override-redirect windows to work around nsXULPopupManager::PopupMoved moving the context menus again r=roc

Makes some sense since it touches GTK window code

Note: remote X is to a WinXP machine running X under cygwin.  Wouldn't be shocked if some other remote-X setups are affected as well.

regression -> karlt
Assignee: nobody → karlt
Keywords: regression

Comment 2

6 years ago
Confirmed that backout of that changeset makes tip function correctly.

Comment 3

6 years ago
Let me know if you want me to try a patch or get more info.
Blocks: 624329
Seems like something we should track for 8 to make sure we don't ship this!
tracking-firefox8: --- → ?

Comment 5

6 years ago
If we want this for 8, we need to get traction on it!!!
Joe?  Karl?
I have to run my builds with a backout patch...
Karl's been on vacation until today. so hasn't had an opportunity to look into it :)

Comment 7

6 years ago
Can you confirm I understand the setup correctly, please?

Firefox is running on the Ubuntu system.
The display is an X server running under cygwin.
What window manager is running on the X server?

I'm not familiar with X servers running under cygwin.  I assume it must be some kind of special server.  Can you point me at info on that?

Can you attach a log of a minimal session reproducing the problem in a debug build (or force the logging in an opt build) with NSPR_LOG_MODULES=Widget:5,WidgetFocus:5 in the environment, please?

Comment 8

6 years ago
(In reply to comment #7)
> I'm not familiar with X servers running under cygwin.  I assume it must be
> some kind of special server.  Can you point me at info on that?

Are you using Multi-Window mode?
Do you get different behavior in other modes?
Summary: Inability to open menus or context menus → Inability to open menus or context menus under Cygwin/X

Comment 9

6 years ago
Firefox is running on Ubuntu
Display is X server on cygwin
I'm running multi-window mode (X windows rehosted as Win32 windows)
I have not tried other modes.
About Cygwin/X says Version 1.8.2; build date 2010-08-06

I'm rebuilding my debug build without the backout.  I'll attach a log *with* the backout now for comparison.

Comment 10

6 years ago
Created attachment 549350 [details]
Log with backout patch in place (already-built debug build)

Comment 11

6 years ago
Created attachment 549364 [details]
Log with backout patch removed (newer build)

This shows the problem.  Startup, click File, right-click in content, exit.

Note: the first log was an existing debug build I had (with the backout I believe); it was probably a week or so old.  This is a fairly fresh pull, with the backout popped off.

I'll pop the backout back on and do a new log to replace the earlier one.

Comment 12

6 years ago
Created attachment 549379 [details]
Log of debug build without backout

Log without the backout, otherwise same source/build.
Attachment #549350 - Attachment is obsolete: true

Comment 13

6 years ago
Thanks, Randell.

Looks like there are some spurious ConfigureNotify events that we wouldn't get from a "real" X server.

You were probably being saved by this early return skipping check_for_rollup:
That was working, even though it was comparing apples and oranges, for second and subsequent duplicate configure events because mBounds is getting set incorrectly later in the function.

Comment 14

6 years ago
Created attachment 550889 [details] [diff] [review]
revert removal of early return, to avoid unwanted rollup on spurious ConfigureNotify

Can you confirm that this resolves the problem for you, please, Randell?

Comment 15

6 years ago
Verified that this patch fixes the problem; thanks!


6 years ago
Attachment #550889 - Flags: review?(roc)
Attachment #550889 - Flags: review?(roc) → review+

Comment 16

6 years ago
Whiteboard: [inbound]


6 years ago
Target Milestone: --- → mozilla8
Last Resolved: 6 years ago
Resolution: --- → FIXED

Comment 18

6 years ago
not going to track this for our releases since this is not a common supported use case.
tracking-firefox8: ? → -
You need to log in before you can comment on or make changes to this bug.