[Bug 49779] Main window position and size incorrect in SimSig (regression in Wine 5.16)

WineHQ Bugzilla wine-bugs at winehq.org
Wed Sep 30 06:38:53 CDT 2020


https://bugs.winehq.org/show_bug.cgi?id=49779

Panard <panard at inzenet.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |panard at inzenet.org

--- Comment #7 from Panard <panard at inzenet.org> ---
Created attachment 68297
  --> https://bugs.winehq.org/attachment.cgi?id=68297
output with WINEDEBUG=+x11drv,+winex11

We are experiencing a similar bug with Magic Online (.NET based) *using
Cinnamon*: the position of the window regularly jumps to a fixed position; and
when maximized steals the focus.

In the join the output with WINEDEBUG=+x11drv, you can see what is happening
with wine 5.17:


$ wine /opt/mtgo/mtgo.exe
[...]
01cc:trace:x11drv:create_whole_window making win 0x10082/0 managed
[..]
01cc:trace:x11drv:X11DRV_WindowPosChanged win 0x10082 window
(220,135)-(1460,875) client (220,135)-(1460,875) style 060f0000 flags 0000081d
01cc:trace:x11drv:set_mwm_hints 0x10082 setting mwm hints to 0,3e (style
60f0000 exstyle c0100)
01cc:trace:x11drv:sync_window_position win 0x10082/6e0000b pos 220,135,1240x740
after 5b4 changes=f serial=421
01cc:trace:x11drv:X11DRV_ExtEscape SET_DRAWABLE hdc 0x5900a2 drawable 6e0000a
dc_rect (0,0)-(1260,757)
01cc:trace:x11drv:X11DRV_ExtEscape SET_DRAWABLE hdc 0x500ae drawable 6e0000b
dc_rect (0,0)-(1240,740)
01cc:trace:x11drv:X11DRV_ExtEscape SET_DRAWABLE hdc 0x400bf drawable 6e0000b
dc_rect (0,0)-(1240,740)
01cc:trace:x11drv:X11DRV_WindowPosChanged win 0x10082 window
(220,135)-(1460,875) client (220,135)-(1460,875) style 160f0000 flags 00001847
01cc:trace:x11drv:set_mwm_hints 0x10082 setting mwm hints to 0,3e (style
160f0000 exstyle c0100)
01cc:trace:x11drv:sync_window_position win 0x10082/6e0000b pos 220,135,1240x740
after 5b4 changes=4f serial=425
01cc:trace:x11drv:X11DRV_WindowPosChanged win 0x10082 window
(220,135)-(1460,875) client (220,135)-(1460,875) style 160f0000 flags 00001837
01cc:trace:x11drv:set_mwm_hints 0x10082 setting mwm hints to 0,3e (style
160f0000 exstyle c0100)
01cc:trace:x11drv:sync_window_position win 0x10082/6e0000b pos 220,135,1240x740
after 5b4 changes=f serial=430

(^----- this position gets somehow "saved")
[...] (here I start dragging around the window)

01cc:trace:x11drv:X11DRV_WindowPosChanged win 0x10082 window
(276,149)-(1516,889) client (276,149)-(1516,889) style 160f0000 flags 0000081d
01cc:trace:x11drv:X11DRV_WindowPosChanged win 0x10082 window
(270,149)-(1510,889) client (270,149)-(1510,889) style 160f0000 flags 0000081d
01cc:trace:x11drv:X11DRV_WindowPosChanged win 0x10082 window
(267,149)-(1507,889) client (267,149)-(1507,889) style 160f0000 flags 0000081d
01cc:trace:x11drv:X11DRV_WindowPosChanged win 0x10082 window
(265,150)-(1505,890) client (265,150)-(1505,890) style 160f0000 flags 0000081d
01cc:trace:x11drv:X11DRV_WindowPosChanged win 0x10082 window
(268,156)-(1508,896) client (268,156)-(1508,896) style 160f0000 flags 0000081d
01cc:trace:x11drv:X11DRV_WindowPosChanged win 0x10082 window
(271,162)-(1511,902) client (271,162)-(1511,902) style 160f0000 flags 0000081d
[...]
01cc:trace:x11drv:X11DRV_WindowPosChanged win 0x10082 window
(148,150)-(1388,890) client (148,150)-(1388,890) style 160f0000 flags 0000081d
01cc:trace:x11drv:X11DRV_WindowPosChanged win 0x10082 window
(150,149)-(1390,889) client (150,149)-(1390,889) style 160f0000 flags 0000081d
01e4:trace:x11drv:X11DRV_WindowPosChanged win 0x10082 window
(150,149)-(1390,889) client (150,149)-(1390,889) style 160f0000 flags 0000001c

[...] (then I move the mouse elsewhere, and go back to the window)

01e4:trace:x11drv:set_mwm_hints 0x10082 setting mwm hints to 0,3e (style
160f0000 exstyle c0100)
01e4:trace:x11drv:update_net_wm_states setting wm state 0 for window
0x10082/6e0000d to 0 prev 0
01e4:trace:x11drv:update_net_wm_states setting wm state 1 for window
0x10082/6e0000d to 0 prev 0
01e4:trace:x11drv:update_net_wm_states setting wm state 2 for window
0x10082/6e0000d to 0 prev 0
01e4:trace:x11drv:update_net_wm_states setting wm state 3 for window
0x10082/6e0000d to 0 prev 0
01e4:trace:x11drv:update_net_wm_states setting wm state 4 for window
0x10082/6e0000d to 0 prev 0
01e4:trace:x11drv:sync_window_position win 0x10082/6e0000d pos 150,149,1240x740
after 56e changes=f serial=786
01e4:trace:x11drv:update_net_wm_states setting wm state 0 for window
0x10082/6e0000d to 0 prev 0
01e4:trace:x11drv:update_net_wm_states setting wm state 1 for window
0x10082/6e0000d to 0 prev 0
01e4:trace:x11drv:update_net_wm_states setting wm state 2 for window
0x10082/6e0000d to 0 prev 0
01e4:trace:x11drv:update_net_wm_states setting wm state 3 for window
0x10082/6e0000d to 0 prev 0
01e4:trace:x11drv:update_net_wm_states setting wm state 4 for window
0x10082/6e0000d to 0 prev 0
01cc:trace:x11drv:X11DRV_WindowPosChanged win 0x10082 window
(220,135)-(1460,875) client (220,135)-(1460,875) style 160f0000 flags 0000081d
01e4:trace:x11drv:X11DRV_WindowPosChanged win 0x10082 window
(220,135)-(1460,875) client (220,135)-(1460,875) style 160f0000 flags 0000001c

(^---- the window jumps to its old position)

01e4:trace:x11drv:set_mwm_hints 0x10082 setting mwm hints to 0,3e (style
160f0000 exstyle c0100)
01e4:trace:x11drv:update_net_wm_states setting wm state 0 for window
0x10082/6e0000d to 0 prev 0
01e4:trace:x11drv:update_net_wm_states setting wm state 1 for window
0x10082/6e0000d to 0 prev 0
01e4:trace:x11drv:update_net_wm_states setting wm state 2 for window
0x10082/6e0000d to 0 prev 0
01e4:trace:x11drv:update_net_wm_states setting wm state 3 for window
0x10082/6e0000d to 0 prev 0
01e4:trace:x11drv:update_net_wm_states setting wm state 4 for window
0x10082/6e0000d to 0 prev 0
01e4:trace:x11drv:sync_window_position win 0x10082/6e0000d pos 220,135,1240x740
after 5b4 changes=f serial=799
01e4:trace:x11drv:update_net_wm_states setting wm state 0 for window
0x10082/6e0000d to 0 prev 0
01e4:trace:x11drv:update_net_wm_states setting wm state 1 for window
0x10082/6e0000d to 0 prev 0
01e4:trace:x11drv:update_net_wm_states setting wm state 2 for window
0x10082/6e0000d to 0 prev 0
01e4:trace:x11drv:update_net_wm_states setting wm state 3 for window
0x10082/6e0000d to 0 prev 0
01e4:trace:x11drv:update_net_wm_states setting wm state 4 for window
0x10082/6e0000d to 0 prev 0
01d8:fixme:seh:NtQueryInformationThread ThreadIsIoPending info class not
supported yet
01a4:fixme:seh:NtQueryInformationThread ThreadIsIoPending info class not
supported yet
0250:fixme:seh:NtQueryInformationThread ThreadIsIoPending info class not
supported yet
01cc:trace:x11drv:X11DRV_ExtEscape SET_DRAWABLE hdc 0x5900a2 drawable 6e0000d
dc_rect (0,0)-(1240,740)


As reported in a previous comment, reverting to the commit prior to
c5ec1585f6e5211a2b63e3435748210552250534 fixes the issue.

This bugs seems related to the Cinnamon WM, no problem with the other WMs I
tested with (unity and xmonad); it could be interesting to try with gnome shell
or related WMs.
Switching wine to "emulate a virtual desktop" workarounds the issue as well.

It is sufficient to run wine 5.17 in a virtual machine with Ubuntu Cinnamon
installed to reproduce the bug with Magic Online.
I'll be happy to try patches or provide other debug traces, just let me know
what may help tracking down the issue.

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list