wxWidgets / Phoenix

wxPython's Project Phoenix. A new implementation of wxPython, better, stronger, faster than he was before.
http://wxpython.org/
2.29k stars 516 forks source link

Problem with wx.aui.AuiManager (wxWidget 3.1.6 --> 3.1.7) #2187

Open komoto48g opened 2 years ago

komoto48g commented 2 years ago

Operating system: Windows 10 wxPython version & source: 4.1.2a1.dev5434+7d45ee6a (whl) Python version & source: 3.10.4

Description of the problem: Each time you drag one floating pane window, the other floating panes drift. In the demo video, every time you drag the pane [p1], the pane [p2] drifts. Once you touch the pane [p2], it will no longer move.

Since 4.1.2a1.dev5426+502d8354 is no problem, this bug seems to be related to the change of wxWidget 3.1.6 --> 3.1.7

Code Example (click to expand) ```python import sys import wx from wx import aui print("Python {}".format(sys.version)) print("wxPython {}".format(wx.version())) class Frame(wx.Frame): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self._mgr = aui.AuiManager() self._mgr.SetManagedWindow(self) self.p0 = wx.Panel(self) self.p1 = wx.Panel(self, size=(100,100)) self.p2 = wx.Panel(self, size=(100,100)) self._mgr.AddPane(self.p0, aui.AuiPaneInfo().CenterPane()) self._mgr.AddPane(self.p1, aui.AuiPaneInfo().Float().Caption("p1")) self._mgr.AddPane(self.p2, aui.AuiPaneInfo().Float().Caption("p2")) self._mgr.Update() if __name__ == "__main__": app = wx.App() frm = Frame(None) frm.Show() app.MainLoop() ```

https://user-images.githubusercontent.com/83063554/173488541-3e31a841-b9f0-4504-91a6-09a01f5f1083.mp4

swt2c commented 2 years ago

I don't see this problem on Linux, so perhaps it affects Windows only? Do you want to report it to wxWidgets? It doesn't seem like something that could be caused downstream in wxPython.

komoto48g commented 2 years ago

Thank you for checking this problem. Yes, I will report this to wxWidgets issue tracker, although I cannot provide a runnable c++ code now...

RobinD42 commented 2 years ago

This issue has been mentioned on Discuss wxPython. There might be relevant details there:

https://discuss.wxpython.org/t/need-help-with-wx-aui-auimanager-problem/36025/1

komoto48g commented 2 years ago

This issue will be fixed in the next wxWidgets version (maybe 3.2.1 or later) with this PR: https://github.com/wxWidgets/wxWidgets/pull/22651