U++ framework
Do not panic. Ask here before giving up.

Home » U++ Library support » TopWindow&PopUp, TrayIcon » [BUG?] X11 (at least OSX) Menus displayed under TopWindow, owner=RootWindow
[BUG?] X11 (at least OSX) Menus displayed under TopWindow, owner=RootWindow [message #30902] Fri, 28 January 2011 06:41 Go to previous message
fudadmin is currently offline  fudadmin
Messages: 1321
Registered: November 2005
Location: Kaunas, Lithuania
Ultimate Contributor
Administrator
on OSX, as it has been mentioned in the forums, upp menus are shown.
I have found out that they are displayed under the application window and parent is desktop root window. Or popups are displayed miles away on top of other apps.

As a quick fix, I applied in X11Wnd.cpp
void Ctrl::Create0(Ctrl *owner, bool redirect, bool savebits)
{
...
	Window dad;
	if(IsPopUp())
	{
		dad = (owner->top)->window;
	}
	else
		dad = RootWindow(Xdisplay, Xscreenno);
	
	Window w = XCreateWindow(Xdisplay, dad,
	                         r.left, r.top, r.Width(), r.Height(),
	                         0, CopyFromParent, InputOutput, CopyFromParent,
	                         CWBitGravity|CWSaveUnder|CWOverrideRedirect|
	                         (IsCompositedGui() ? CWBackPixel : CWBackPixmap),
	                         &swa);
	if(!w) XError("XCreateWindow failed !");
...


also popup=true; before Create
the menus are displayed now but by the size of a window bar lower.

I guess that there is also a problem with focusCtrl.
Before I explore any deeper could someone tell:

Are menus supposed to have parent RootWindow(Xdisplay, Xscreenno); in upp?

and
void MenuBar::PopUp(Ctrl *owner, Point p, Size rsz)
{
	bool szcx = true;
	bool szcy = true;
	bool szx = false;
	bool szy = false;
	if(parentmenu) {
		if(parentmenu->IsChild())
			szcx = false;
		else
			szcy = false;
		WhenHelp = parentmenu->WhenHelp;
	}
	Rect r = GetWorkArea(p);


Rect r = the whole screen?
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Restoring TrayIcon control
Next Topic: TrayIcon test V2
Goto Forum:
  


Current Time: Sun Apr 26 05:17:28 GMT+2 2026

Total time taken to generate the page: 0.01068 seconds