[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug #35901] Border appearing around some windows...
From: |
Eric Wasylishen |
Subject: |
[bug #35901] Border appearing around some windows... |
Date: |
Mon, 19 Mar 2012 19:26:54 +0000 |
User-agent: |
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/534.54.16 (KHTML, like Gecko) Version/5.1.4 Safari/534.54.16 |
Follow-up Comment #1, bug #35901 (project gnustep):
This is a deep flaw in the way styleoffsets work in back/x11...
Here's the rundown as far as I understand:
The ivar underlying -[NSWindow frame] is supposed to include the window
border, so you can position a window with its frame perfectly aligned with the
bottom-left corner of the screen by doing [window setFrame: NSMakeRect(0, 0,
w, h)]. Problem is, x11 is not designed to let you do that - the frame is
controlled by the window manager. You can see there's a potential race
condition here: if the frame size is stored in the applications process as
part of the window's frame var, but the actual frame size is determined by the
window manager in another process, we have to be very careful that
disagreements over the dimensions of the frame don't clobber the window
contents size (as is happening here.)
In particular the calls to [self styleoffsets:] in XGServerWindow.m are
certainly incorrect, because they make a call to the X server and mix those
freshly returned values with the NSWindow's frame.
The code needs to be redesigned so that the content size of a window can
_never_ be messed up.
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?35901>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/