From: Mick P. <mic...@wi...> - 2017-07-12 01:42:16
|
@John >Are you running without a window manager? We should probably check to see if our parent is a WM frame, and otherwise use 0,0 instead of -x,-y. I'm using Cygwin, running X applications off the command-line. They do have Windows dressing. I'm not sure how that factors in if it's not dealt with as a window-manger in rootless (multi-window) mode, or pseudo-manager. >Please provide a minimal code sample which reproduces this bug, with clear explanation of the intended and observed behaviour, and ideally post it in the sourceforge bug tracking system, so that it's not forgotten. This bug is nondeterministic. I think the best that can be done is to look at the X11 code and see if it is logical or not with regard to timing and notifications. It could also be something that happens if there is not a window-manager. It seems to be limited to start up. The best explanation I can give is a 640x480 window is created, and the height/width of an internal variable is set to that. The resize-callback is the only thing that changes those variables. And there's no reason for GLUT to send any size to it other than 640x480. It should suffice to look at where the resize callback is issued and see if anything seems off. I will park a Cygwin version of the software somewhere to look at sometime in the next few days if there's not anything suspicious. That's all I can do. ----- Original Message ----- > From: fre...@li... > To: fre...@li... > Sent: Tuesday, July 11, 2017 7:10:31 AM > Subject: Freeglut-developer Digest, Vol 106, Issue 2 > > Send Freeglut-developer mailing list submissions to > fre...@li... > > To subscribe or unsubscribe via the World Wide Web, visit > https://lists.sourceforge.net/lists/listinfo/freeglut-developer > or, via email, send a message with subject or body 'help' to > fre...@li... > > You can reach the person managing the list at > fre...@li... > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of Freeglut-developer digest..." > > > Today's Topics: > > 1. X11 glutFullScreen is not right (and start up size glitch) > (Mick Pearson) > 2. Re: X11 glutFullScreen is not right (and start up size > glitch) (John Tsiombikas) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Mon, 10 Jul 2017 18:38:42 -0400 (EDT) > From: Mick Pearson <mic...@wi...> > To: FreeGLUT developers list > <fre...@li...> > Subject: [Freeglut-developer] X11 glutFullScreen is not right (and > start up size glitch) > Message-ID: > <631...@wi...> > Content-Type: text/plain; charset=utf-8 > > In fg_window_x11.c there is the following: > > /* > * The "x" and "y" members of "attributes" are the window's > coordinates > * relative to its parent, i.e. to the decoration window. > */ > XMoveResizeWindow(fgDisplay.pDisplay.Display, > fgStructure.CurrentWindow->Window.Handle, > -attributes.x, > -attributes.y, > fgDisplay.ScreenWidth, > fgDisplay.ScreenHeight); > > With two X servers on Windows the -x/y part is taking the client window's > position > and negating into negative screen space, and so positioning the fullscreen > window > to the top-left of 0,0. (Two different X servers, with Cygwin's client > libraries.) > > The assumption that there is a parent window other than the root seems > incorrect. > Or this code assumes the parent/decoration window is already positioned in > the top-left > of the screen. > > There's another path that tries _NET_WM_STATE, but either the error is in > that, or > neither server I'm trying is responding to that. > > P.S. I'm seeing a secondary problem that's hard to understand: When the > application > begins it seems to sometimes call the resize-callback with a wrong size, > larger than > the created window; possibly the size of the screen. SOMETIMES means it maybe > happens, > maybe doesn't. There's about 50/50 chance. Anyway, the true size of the > window and > its size reported to the callback seems to be out of whack at start up with > X11. > > (I'd like to provide more information but GNU's tools are so dog-slow it's > not generally > worth rebuilding to experiment with these kinds of problems until I can mock > up a drop-in > replacement for the guts of the program.) > > -- > As with mail, anyone who wishes may send email from your email address. In > the case you receive obscene or unusual email from an address with which you > are familiar. It could be someone is impersonating that email address. > Always return a copy of the email to the sender for review and response. > > > > ------------------------------ > > Message: 2 > Date: Tue, 11 Jul 2017 02:22:51 +0300 > From: John Tsiombikas <nu...@me...> > To: fre...@li... > Subject: Re: [Freeglut-developer] X11 glutFullScreen is not right (and > start up size glitch) > Message-ID: <201...@mu...> > Content-Type: text/plain; charset=us-ascii > > On Mon, Jul 10, 2017 at 06:38:42PM -0400, Mick Pearson wrote: > > The assumption that there is a parent window other than the root seems > > incorrect. > > Are you running without a window manager? We should probably check to > see if our parent is a WM frame, and otherwise use 0,0 instead of -x,-y. > > This is of course very much a corner case. 99.999% of the time people > use a window manager with X, which is why this bug has gone unnoticed > for so long. > > I'll make some time to experiment without a window manager and fix this > soon. > > > There's another path that tries _NET_WM_STATE, but either the error is in > > that, or > > neither server I'm trying is responding to that. > > It's not the job of the X server to do something with that. It's a > window manager protocol. If you're running without a window manager, > this obviously won't work. > > > P.S. I'm seeing a secondary problem that's hard to understand: When the > > application > > begins it seems to sometimes call the resize-callback with a wrong size, > > larger than > > the created window; possibly the size of the screen. SOMETIMES means it > > maybe happens, > > maybe doesn't. There's about 50/50 chance. Anyway, the true size of the > > window and > > its size reported to the callback seems to be out of whack at start up with > > X11. > > Please provide a minimal code sample which reproduces this bug, with > clear explanation of the intended and observed behaviour, and ideally > post it in the sourceforge bug tracking system, so that it's not > forgotten. > > -- > John Tsiombikas > http://nuclear.mutantstargoat.com/ > > > > ------------------------------ > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > > ------------------------------ > > Subject: Digest Footer > > _______________________________________________ > Freeglut-developer mailing list > Fre...@li... > https://lists.sourceforge.net/lists/listinfo/freeglut-developer > > > ------------------------------ > > End of Freeglut-developer Digest, Vol 106, Issue 2 > ************************************************** > -- As with mail, anyone who wishes may send email from your email address. In the case you receive obscene or unusual email from an address with which you are familiar. It could be someone is impersonating that email address. Always return a copy of the email to the sender for review and response. |