On 27.04.2012 23:30, Philippe Roussel wrote:
Le 27/04/2012 22:53, Philippe Roussel a écrit :
Hi Fred,

Le 27/04/2012 22:33, Fred Kiefer a écrit :

Hi Philippe,

you code may work around the problem, but I would like to first
understand what is causing it. You could add a break point on your new
code to see what is causing it. In addition you could add the switches
"--GNU-Debug=NSEvent --GNU-Debug=Moving --GNU-Debug=Frame" to your
command line to see more debug output. That way we may be able to
understand how this nonsensical value get created.

It could be that the line
n = [self _XFrameToOSFrame: x for: cWin];
converts the correct X values into wrong OS values. This would mean that
we are using the wrong style offset values. Which window manager are you
using? Is this properly supported by our  _checkStyle: code?
Here the command line switch "--GNU-Debug=Offset" should give you more
information.

My window manager is Unity on Ubuntu 11.10.

Here's an log with all 4 switches, starting when I click on the close
button of the preferences panel :

2012-04-27 23:19:01.090 SimpleAgenda[9713] WM Protocol - WM_DELETE_WINDOW
2012-04-27 23:19:01.090 SimpleAgenda[9713] Send NSEvent type: 13 to<NSPanel: 
0x878b294>Number: 18 Title: Preferences
2012-04-27 23:19:01.093 SimpleAgenda[9713] 4194346 PropertyNotify - 
'_NET_WM_USER_TIME'
2012-04-27 23:19:01.094 SimpleAgenda[9713] 4194545 FocusOut
2012-04-27 23:19:01.094 SimpleAgenda[9713] 4194346 FocusIn
2012-04-27 23:19:01.094 SimpleAgenda[9713] 0 KeymapNotify
2012-04-27 23:19:01.094 SimpleAgenda[9713] 4194545 UnmapNotify
2012-04-27 23:19:01.095 SimpleAgenda[9713] 4194545 PropertyNotify - 'WM_STATE'
2012-04-27 23:19:01.097 SimpleAgenda[9713] 4194545 ConfigureNotify x:429 y:115 
w:375 h:237 b:0 T
2012-04-27 23:19:01.097 SimpleAgenda[9713] Window 4194545, left 1, right 1, top 
27, bottom 1
2012-04-27 23:19:01.098 SimpleAgenda[9713] X2O 18, 3, {x = 429; y = 115; width 
= 375; height = 237}, {x = 428; y = 447; width = 377; height = 265}
2012-04-27 23:19:01.098 SimpleAgenda[9713] Update win 18:
    original:{x = 430; y = 142; width = 375; height = 237}
    new:{x = 429; y = 115; width = 375; height = 237}
2012-04-27 23:19:01.098 SimpleAgenda[9713] Window 4194545, left 1, right 1, top 
27, bottom 1
2012-04-27 23:19:01.098 SimpleAgenda[9713] X2H 18, 3, {x = 429; y = 115; width 
= 375; height = 237}, {x = 428; y = 88; width = 375; height = 237}
2012-04-27 23:19:01.098 SimpleAgenda[9713] Send NSEvent type: 13 to<NSPanel: 
0x878b294>Number: 18 Title: Preferences
2012-04-27 23:19:01.098 SimpleAgenda[9713] Move event: 18 {x = 428; y = 447}
2012-04-27 23:19:01.101 SimpleAgenda[9713] 4194545 ReparentNotify - offset 0 0
2012-04-27 23:19:01.102 SimpleAgenda[9713] 4194545 ConfigureNotify x:0 y:0 
w:375 h:237 b:0 F
2012-04-27 23:19:01.104 SimpleAgenda[9713] Window 4194545, left 1, right 1, top 
27, bottom 1
2012-04-27 23:19:01.104 SimpleAgenda[9713] X2O 18, 3, {x = 0; y = 0; width = 
375; height = 237}, {x = -1; y = 562; width = 377; height = 265}
2012-04-27 23:19:01.104 SimpleAgenda[9713] Update win 18:
    original:{x = 429; y = 115; width = 375; height = 237}
    new:{x = 0; y = 0; width = 375; height = 237}
2012-04-27 23:19:01.104 SimpleAgenda[9713] Window 4194545, left 1, right 1, top 
27, bottom 1
2012-04-27 23:19:01.104 SimpleAgenda[9713] X2H 18, 3, {x = 0; y = 0; width = 
375; height = 237}, {x = -1; y = -27; width = 375; height = 237}
2012-04-27 23:19:01.104 SimpleAgenda[9713] bug

I've added NSLog(@"bug") in an else branch to my previous hack. At this
point the bogus NSEvent should be sent to the panel and its coordinates
saved as the window geometry, I think.

This is not happening only with SimpleAgenda, I reproduced it with FTP
for example. And this is problem isn't really new, I've been seeing for
some time now.

2012-04-27 23:19:01.104 SimpleAgenda[9713] 4194545 ConfigureNotify x:429 y:115 
w:375 h:237 b:0 F
2012-04-27 23:19:01.105 SimpleAgenda[9713] Window 4194545, left 1, right 1, top 
27, bottom 1
2012-04-27 23:19:01.105 SimpleAgenda[9713] X2O 18, 3, {x = 429; y = 115; width 
= 375; height = 237}, {x = 428; y = 447; width = 377; height = 265}
2012-04-27 23:19:01.105 SimpleAgenda[9713] Update win 18:
    original:{x = 0; y = 0; width = 375; height = 237}
    new:{x = 429; y = 115; width = 375; height = 237}
2012-04-27 23:19:01.106 SimpleAgenda[9713] Window 4194545, left 1, right 1, top 
27, bottom 1
2012-04-27 23:19:01.106 SimpleAgenda[9713] X2H 18, 3, {x = 429; y = 115; width 
= 375; height = 237}, {x = 428; y = 88; width = 375; height = 237}
2012-04-27 23:19:01.106 SimpleAgenda[9713] Send NSEvent type: 13 to<NSPanel: 
0x878b294>Number: 18 Title: Preferences
2012-04-27 23:19:01.106 SimpleAgenda[9713] Move event: 18 {x = 428; y = 447}
2012-04-27 23:19:01.108 SimpleAgenda[9713] 4194545 PropertyNotify - 
'_COMPIZ_WINDOW_DECOR_INPUT_FRAME'
2012-04-27 23:19:01.108 SimpleAgenda[9713] 4194545 PropertyNotify - 
'_NET_WM_ALLOWED_ACTIONS'
2012-04-27 23:19:01.109 SimpleAgenda[9713] 4194545 ConfigureNotify x:0 y:0 
w:375 h:237 b:0 F
2012-04-27 23:19:01.120 SimpleAgenda[9713] Window 4194545, left 1, right 1, top 
27, bottom 1
2012-04-27 23:19:01.120 SimpleAgenda[9713] X2O 18, 3, {x = 0; y = 0; width = 
375; height = 237}, {x = -1; y = 562; width = 377; height = 265}
2012-04-27 23:19:01.120 SimpleAgenda[9713] Update win 18:
    original:{x = 429; y = 115; width = 375; height = 237}
    new:{x = 0; y = 0; width = 375; height = 237}
2012-04-27 23:19:01.124 SimpleAgenda[9713] Window 4194545, left 0, right 0, top 
0, bottom 0
2012-04-27 23:19:01.124 SimpleAgenda[9713] X2H 18, 3, {x = 0; y = 0; width = 
375; height = 237}, {x = 0; y = 0; width = 375; height = 237}
2012-04-27 23:19:01.124 SimpleAgenda[9713] bug

Thank you for running this analysis. It looks like the XTranslateCoordinates call produces incorrect results. I don't have the time to look into this until early next week. Perhaps you are able to find out what goes wrong in line 853 yourself until then.


_______________________________________________
Discuss-gnustep mailing list
Discuss-gnustep@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnustep

Reply via email to