diff --git a/gui/builtinMarketBrowser/pfSearchBox.py b/gui/builtinMarketBrowser/pfSearchBox.py index b696026f8..8d0871f6a 100644 --- a/gui/builtinMarketBrowser/pfSearchBox.py +++ b/gui/builtinMarketBrowser/pfSearchBox.py @@ -59,6 +59,8 @@ class PFSearchBox(wx.Window): self.EditBox.Bind(wx.EVT_TEXT, self.OnText) self.EditBox.Bind(wx.EVT_TEXT_ENTER, self.OnTextEnter) + self.SetBackgroundStyle(wx.BG_STYLE_PAINT) + self.SetMinSize(size) def OnText(self, event): @@ -224,7 +226,7 @@ class PFSearchBox(wx.Window): self.EditBox.SetSize((self.cancelButtonX - self.padding - self.editX, -1)) def OnPaint(self, event): - dc = wx.BufferedPaintDC(self) + dc = wx.AutoBufferedPaintDC(self) bkColor = wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW) sepColor = colorUtils.GetSuitable(bkColor, 0.2) diff --git a/gui/builtinPreferenceViews/pyfaGaugePreferences.py b/gui/builtinPreferenceViews/pyfaGaugePreferences.py index c17002590..6e8d4ced2 100644 --- a/gui/builtinPreferenceViews/pyfaGaugePreferences.py +++ b/gui/builtinPreferenceViews/pyfaGaugePreferences.py @@ -49,6 +49,7 @@ class PFGaugePreview(wx.Window): self.Bind(wx.EVT_LEAVE_WINDOW, self.OnWindowLeave) self.Bind(wx.EVT_TIMER, self.OnTimer) self.Bind(wx.EVT_ERASE_BACKGROUND, self.OnEraseBk) + self.SetBackgroundStyle(wx.BG_STYLE_PAINT) def OnEraseBk(self, event): pass @@ -110,7 +111,7 @@ class PFGaugePreview(wx.Window): def OnPaint(self, event): rect = self.GetClientRect() - dc = wx.BufferedPaintDC(self) + dc = wx.AutoBufferedPaintDC(self) dc.SetBackground(wx.Brush(self.bkColor)) dc.Clear() diff --git a/gui/builtinShipBrowser/pfBitmapFrame.py b/gui/builtinShipBrowser/pfBitmapFrame.py index 8421ee6a7..1b5631dac 100644 --- a/gui/builtinShipBrowser/pfBitmapFrame.py +++ b/gui/builtinShipBrowser/pfBitmapFrame.py @@ -19,6 +19,8 @@ class PFBitmapFrame(wx.Frame): self.transp = 0 self.SetSize((bitmap.GetWidth(), bitmap.GetHeight())) + self.SetBackgroundStyle(wx.BG_STYLE_PAINT) + self.SetTransparent(0) self.Refresh() @@ -51,7 +53,7 @@ class PFBitmapFrame(wx.Frame): def OnWindowPaint(self, event): rect = self.GetRect() canvas = wx.Bitmap(rect.width, rect.height) - mdc = wx.BufferedPaintDC(self) + mdc = wx.AutoBufferedPaintDC(self) mdc.SelectObject(canvas) mdc.DrawBitmap(self.bitmap, 0, 0) mdc.SetPen(wx.Pen("#000000", width=1)) diff --git a/gui/builtinShipBrowser/raceSelector.py b/gui/builtinShipBrowser/raceSelector.py index cfc795ea9..5931e3aad 100644 --- a/gui/builtinShipBrowser/raceSelector.py +++ b/gui/builtinShipBrowser/raceSelector.py @@ -85,6 +85,8 @@ class RaceSelector(wx.Window): self.Layout() + self.SetBackgroundStyle(wx.BG_STYLE_PAINT) + def OnMouseMove(self, event): mx, my = event.GetPosition() @@ -170,7 +172,7 @@ class RaceSelector(wx.Window): # bkColor = colorUtils.GetSuitable(windowColor, 0.1) sepColor = colorUtils.GetSuitable(windowColor, 0.2) - mdc = wx.BufferedPaintDC(self) + mdc = wx.AutoBufferedPaintDC(self) bkBitmap = drawUtils.RenderGradientBar(windowColor, rect.width, rect.height, 0.1, 0.1, 0.2, 2) mdc.DrawBitmap(bkBitmap, 0, 0, True) diff --git a/gui/builtinShipBrowser/sfBrowserItem.py b/gui/builtinShipBrowser/sfBrowserItem.py index e0cef1495..6145bf264 100644 --- a/gui/builtinShipBrowser/sfBrowserItem.py +++ b/gui/builtinShipBrowser/sfBrowserItem.py @@ -241,7 +241,7 @@ class PFToolbar(object): class SFBrowserItem(wx.Window): def __init__(self, parent, id=wx.ID_ANY, pos=wx.DefaultPosition, size=(0, 16), style=0): wx.Window.__init__(self, parent, id, pos, size, style) - + self.SetBackgroundStyle(wx.BG_STYLE_PAINT) self.highlighted = False self.selected = False self.bkBitmap = None @@ -281,7 +281,7 @@ class SFBrowserItem(wx.Window): wx.Window.Refresh(self) def OnPaint(self, event): - mdc = wx.BufferedPaintDC(self) + mdc = wx.AutoBufferedPaintDC(self) self.RenderBackground() diff --git a/gui/chrome_tabs.py b/gui/chrome_tabs.py index 66a3b7855..8e5982221 100644 --- a/gui/chrome_tabs.py +++ b/gui/chrome_tabs.py @@ -727,6 +727,8 @@ class _TabsContainer(wx.Panel): self.Bind(wx.EVT_SIZE, self.OnSize) self.Bind(wx.EVT_SYS_COLOUR_CHANGED, self.OnSysColourChanged) + self.SetBackgroundStyle(wx.BG_STYLE_PAINT) + def OnSysColourChanged(self, event): for tab in self.tabs: tab.InitTab() @@ -1096,10 +1098,7 @@ class _TabsContainer(wx.Panel): self.Refresh() def OnPaint(self, event): - if "wxGTK" in wx.PlatformInfo: - mdc = wx.AutoBufferedPaintDC(self) - else: - mdc = wx.BufferedPaintDC(self) + mdc = wx.AutoBufferedPaintDC(self) # if 'wxMac' in wx.PlatformInfo: # color = wx.Colour(0, 0, 0) @@ -1299,7 +1298,7 @@ class PFNotebookPagePreview(wx.Frame): size=wx.DefaultSize, style=wx.NO_BORDER | wx.FRAME_NO_TASKBAR | wx.STAY_ON_TOP) - + self.SetBackgroundStyle(wx.BG_STYLE_PAINT) self.title = title self.bitmap = bitmap self.SetSize((bitmap.GetWidth(), bitmap.GetHeight())) @@ -1371,7 +1370,7 @@ class PFNotebookPagePreview(wx.Frame): def OnWindowPaint(self, event): rect = self.GetRect() canvas = wx.Bitmap(rect.width, rect.height) - mdc = wx.BufferedPaintDC(self) + mdc = wx.AudoBufferedPaintDC(self) mdc.SelectObject(canvas) color = wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW) mdc.SetBackground(wx.Brush(color)) diff --git a/gui/devTools.py b/gui/devTools.py index b51ce3065..89d9a6f97 100644 --- a/gui/devTools.py +++ b/gui/devTools.py @@ -43,6 +43,11 @@ class DevTools(wx.Dialog): self.idBtn.Bind(wx.EVT_BUTTON, self.objects_by_id) + self.gcCollect = wx.Button(self, wx.ID_ANY, "GC Collect", wx.DefaultPosition, wx.DefaultSize, 0) + mainSizer.Add(self.gcCollect, 0, wx.EXPAND | wx.TOP | wx.BOTTOM, 5) + + self.gcCollect.Bind(wx.EVT_BUTTON, self.gc_collect) + self.SetSizer(mainSizer) self.Layout() @@ -62,6 +67,13 @@ class DevTools(wx.Dialog): if id(obj) == input: print(obj) print(bool(obj)) + print(str(len(gc.get_referents(obj))) + " references") + break else: print(None) + + def gc_collect(self, evt): + print(gc.collect()) + print(gc.get_debug()) + print(gc.get_stats()) diff --git a/gui/mainFrame.py b/gui/mainFrame.py index cbc2dafde..124aa5646 100644 --- a/gui/mainFrame.py +++ b/gui/mainFrame.py @@ -1016,6 +1016,7 @@ class MainFrame(wx.Frame): del self.waitDialog def openGraphFrame(self, event): + if not self.graphFrame: self.graphFrame = GraphFrame(self) diff --git a/gui/pyfa_gauge.py b/gui/pyfa_gauge.py index b6b514015..6e464066b 100644 --- a/gui/pyfa_gauge.py +++ b/gui/pyfa_gauge.py @@ -75,6 +75,7 @@ class PyGauge(wx.Window): self.Bind(wx.EVT_TIMER, self.OnTimer) self.Bind(wx.EVT_ENTER_WINDOW, self.OnWindowEnter) self.Bind(wx.EVT_LEAVE_WINDOW, self.OnWindowLeave) + self.SetBackgroundStyle(wx.BG_STYLE_PAINT) def OnEraseBackground(self, event): pass @@ -212,7 +213,7 @@ class PyGauge(wx.Window): (self._value, self._max_range if float(self._max_range) > 0.01 else 0)) def OnPaint(self, event): - dc = wx.BufferedPaintDC(self) + dc = wx.AutoBufferedPaintDC(self) rect = self.GetClientRect() dc.SetBackground(wx.Brush(self.GetBackgroundColour())) diff --git a/gui/utils/anim.py b/gui/utils/anim.py index 8791b273d..0f3333dc1 100644 --- a/gui/utils/anim.py +++ b/gui/utils/anim.py @@ -24,6 +24,8 @@ class LoadAnimation(wx.Window): self.animTimer.Start(self.animTimerPeriod) + self.SetBackgroundStyle(wx.BG_STYLE_PAINT) + def Play(self): if self.animTimer.IsRunning(): self.animTimer.Stop() @@ -52,7 +54,7 @@ class LoadAnimation(wx.Window): def OnPaint(self, event): rect = self.GetClientRect() - dc = wx.BufferedPaintDC(self) + dc = wx.AutoBufferedPaintDC(self) windowColor = wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW) dc.SetBackground(wx.Brush(windowColor)) dc.Clear()