diff options
| author | Markus Wick <degasus@users.noreply.github.com> | 2016-09-09 17:27:07 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-09-09 17:27:07 +0200 |
| commit | 6e488e65e3782537e81b91696bc36dfc2edbc9f9 (patch) | |
| tree | b3ac237ea957a71b577ce30cbf134bc258b97937 /Source/Core | |
| parent | 586644d89ea43e7a43f74629b4b2349e9af4aa95 (diff) | |
| parent | e8cb4119b861d7d76f051f45bf2ebf5689d1c8f2 (diff) | |
Merge pull request #4013 from leoetlino/wx-assert-fix
Drop Dolphin patch to wxWidgets (and fix issues)
Diffstat (limited to 'Source/Core')
| -rw-r--r-- | Source/Core/DolphinWX/AuiToolBar.h | 22 | ||||
| -rw-r--r-- | Source/Core/DolphinWX/Debugger/BreakpointWindow.cpp | 8 | ||||
| -rw-r--r-- | Source/Core/DolphinWX/Debugger/CodeWindow.cpp | 7 | ||||
| -rw-r--r-- | Source/Core/DolphinWX/Debugger/CodeWindow.h | 4 | ||||
| -rw-r--r-- | Source/Core/DolphinWX/Debugger/DSPDebugWindow.cpp | 4 | ||||
| -rw-r--r-- | Source/Core/DolphinWX/Debugger/DSPDebugWindow.h | 4 | ||||
| -rw-r--r-- | Source/Core/DolphinWX/Debugger/WatchWindow.cpp | 8 |
7 files changed, 40 insertions, 17 deletions
diff --git a/Source/Core/DolphinWX/AuiToolBar.h b/Source/Core/DolphinWX/AuiToolBar.h new file mode 100644 index 0000000000..baf12a0b9c --- /dev/null +++ b/Source/Core/DolphinWX/AuiToolBar.h @@ -0,0 +1,22 @@ +// Copyright 2016 Dolphin Emulator Project +// Licensed under GPLv2+ +// Refer to the license.txt file included. + +#include <wx/aui/auibar.h> +#include <wx/window.h> + +// This fixes wxAuiToolBar setting itself to 21 pixels wide regardless of content +// because of a wxWidgets issue as described here: https://dolp.in/pr4013#issuecomment-233096214 +// It overrides DoSetSize() to remove the clamping in the original WX code +// which is causing display issues on Linux and OS X. +class DolphinAuiToolBar : public wxAuiToolBar +{ +public: + using wxAuiToolBar::wxAuiToolBar; + +protected: + void DoSetSize(int x, int y, int width, int height, int size_flags) override + { + wxWindow::DoSetSize(x, y, width, height, size_flags); + } +}; diff --git a/Source/Core/DolphinWX/Debugger/BreakpointWindow.cpp b/Source/Core/DolphinWX/Debugger/BreakpointWindow.cpp index 8469e1ed02..dd2936a904 100644 --- a/Source/Core/DolphinWX/Debugger/BreakpointWindow.cpp +++ b/Source/Core/DolphinWX/Debugger/BreakpointWindow.cpp @@ -4,7 +4,6 @@ // clang-format off #include <wx/bitmap.h> -#include <wx/aui/auibar.h> #include <wx/aui/framemanager.h> #include <wx/image.h> #include <wx/listbase.h> @@ -23,14 +22,15 @@ #include "DolphinWX/Debugger/BreakpointWindow.h" #include "DolphinWX/Debugger/CodeWindow.h" #include "DolphinWX/Debugger/MemoryCheckDlg.h" +#include "DolphinWX/AuiToolBar.h" #include "DolphinWX/WxUtils.h" -class CBreakPointBar : public wxAuiToolBar +class CBreakPointBar : public DolphinAuiToolBar { public: CBreakPointBar(CBreakPointWindow* parent, const wxWindowID id) - : wxAuiToolBar(parent, id, wxDefaultPosition, wxDefaultSize, - wxAUI_TB_DEFAULT_STYLE | wxAUI_TB_TEXT) + : DolphinAuiToolBar(parent, id, wxDefaultPosition, wxDefaultSize, + wxAUI_TB_DEFAULT_STYLE | wxAUI_TB_TEXT) { SetToolBitmapSize(wxSize(24, 24)); diff --git a/Source/Core/DolphinWX/Debugger/CodeWindow.cpp b/Source/Core/DolphinWX/Debugger/CodeWindow.cpp index beb343318d..95f13d0603 100644 --- a/Source/Core/DolphinWX/Debugger/CodeWindow.cpp +++ b/Source/Core/DolphinWX/Debugger/CodeWindow.cpp @@ -8,7 +8,6 @@ // clang-format off #include <wx/bitmap.h> -#include <wx/aui/auibar.h> #include <wx/image.h> #include <wx/listbox.h> #include <wx/menu.h> @@ -19,6 +18,7 @@ #include <wx/textdlg.h> #include <wx/thread.h> #include <wx/toolbar.h> +#include <wx/aui/auibar.h> #include <wx/aui/dockart.h> // clang-format on @@ -45,6 +45,7 @@ #include "DolphinWX/Debugger/JitWindow.h" #include "DolphinWX/Debugger/RegisterWindow.h" #include "DolphinWX/Debugger/WatchWindow.h" +#include "DolphinWX/AuiToolBar.h" #include "DolphinWX/Frame.h" #include "DolphinWX/Globals.h" #include "DolphinWX/WxUtils.h" @@ -74,8 +75,8 @@ CCodeWindow::CCodeWindow(const SConfig& _LocalCoreStartupParameter, CFrame* pare callers = new wxListBox(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, nullptr, wxLB_SORT); callers->Bind(wxEVT_LISTBOX, &CCodeWindow::OnCallersListChange, this); - m_aui_toolbar = new wxAuiToolBar(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, - wxAUI_TB_HORIZONTAL | wxAUI_TB_PLAIN_BACKGROUND); + m_aui_toolbar = new DolphinAuiToolBar(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, + wxAUI_TB_HORIZONTAL | wxAUI_TB_PLAIN_BACKGROUND); wxSearchCtrl* const address_searchctrl = new wxSearchCtrl(m_aui_toolbar, IDM_ADDRBOX); address_searchctrl->Bind(wxEVT_TEXT, &CCodeWindow::OnAddrBoxChange, this); diff --git a/Source/Core/DolphinWX/Debugger/CodeWindow.h b/Source/Core/DolphinWX/Debugger/CodeWindow.h index 25d1b4fa30..5788d7d062 100644 --- a/Source/Core/DolphinWX/Debugger/CodeWindow.h +++ b/Source/Core/DolphinWX/Debugger/CodeWindow.h @@ -23,7 +23,7 @@ class DSPDebuggerLLE; class GFXDebuggerPanel; struct SConfig; -class wxAuiToolBar; +class DolphinAuiToolBar; class wxListBox; class wxMenu; class wxMenuBar; @@ -125,5 +125,5 @@ private: Common::Event sync_event; wxAuiManager m_aui_manager; - wxAuiToolBar* m_aui_toolbar; + DolphinAuiToolBar* m_aui_toolbar; }; diff --git a/Source/Core/DolphinWX/Debugger/DSPDebugWindow.cpp b/Source/Core/DolphinWX/Debugger/DSPDebugWindow.cpp index 7b4909a4e8..c3d2aef98c 100644 --- a/Source/Core/DolphinWX/Debugger/DSPDebugWindow.cpp +++ b/Source/Core/DolphinWX/Debugger/DSPDebugWindow.cpp @@ -4,7 +4,6 @@ #include <cstdio> #include <wx/artprov.h> -#include <wx/aui/auibar.h> #include <wx/aui/auibook.h> #include <wx/aui/framemanager.h> #include <wx/listbox.h> @@ -20,6 +19,7 @@ #include "Core/HW/DSPLLE/DSPDebugInterface.h" #include "Core/HW/DSPLLE/DSPSymbols.h" #include "Core/Host.h" +#include "DolphinWX/AuiToolBar.h" #include "DolphinWX/Debugger/CodeView.h" #include "DolphinWX/Debugger/DSPDebugWindow.h" #include "DolphinWX/Debugger/DSPRegisterView.h" @@ -42,7 +42,7 @@ DSPDebuggerLLE::DSPDebuggerLLE(wxWindow* parent, wxWindowID id) m_mgr.SetFlags(wxAUI_MGR_DEFAULT | wxAUI_MGR_LIVE_RESIZE); m_Toolbar = - new wxAuiToolBar(this, ID_TOOLBAR, wxDefaultPosition, wxDefaultSize, wxAUI_TB_HORZ_TEXT); + new DolphinAuiToolBar(this, ID_TOOLBAR, wxDefaultPosition, wxDefaultSize, wxAUI_TB_HORZ_TEXT); m_Toolbar->AddTool(ID_RUNTOOL, _("Pause"), wxArtProvider::GetBitmap(wxART_TICK_MARK, wxART_OTHER, wxSize(10, 10))); m_Toolbar->AddTool(ID_STEPTOOL, _("Step"), diff --git a/Source/Core/DolphinWX/Debugger/DSPDebugWindow.h b/Source/Core/DolphinWX/Debugger/DSPDebugWindow.h index 7f1215bfb7..51519f010c 100644 --- a/Source/Core/DolphinWX/Debugger/DSPDebugWindow.h +++ b/Source/Core/DolphinWX/Debugger/DSPDebugWindow.h @@ -14,7 +14,7 @@ class DSPRegisterView; class CCodeView; class CMemoryView; class wxAuiNotebook; -class wxAuiToolBar; +class DolphinAuiToolBar; class wxListBox; class DSPDebuggerLLE : public wxPanel @@ -45,7 +45,7 @@ private: // GUI items wxAuiManager m_mgr; - wxAuiToolBar* m_Toolbar; + DolphinAuiToolBar* m_Toolbar; CCodeView* m_CodeView; CMemoryView* m_MemView; DSPRegisterView* m_Regs; diff --git a/Source/Core/DolphinWX/Debugger/WatchWindow.cpp b/Source/Core/DolphinWX/Debugger/WatchWindow.cpp index ce92d7e656..f43190a5d3 100644 --- a/Source/Core/DolphinWX/Debugger/WatchWindow.cpp +++ b/Source/Core/DolphinWX/Debugger/WatchWindow.cpp @@ -6,7 +6,6 @@ // clang-format off #include <wx/bitmap.h> -#include <wx/aui/auibar.h> #include <wx/panel.h> // clang-format on @@ -16,14 +15,15 @@ #include "Core/PowerPC/PowerPC.h" #include "DolphinWX/Debugger/WatchView.h" #include "DolphinWX/Debugger/WatchWindow.h" +#include "DolphinWX/AuiToolBar.h" #include "DolphinWX/WxUtils.h" -class CWatchToolbar : public wxAuiToolBar +class CWatchToolbar : public DolphinAuiToolBar { public: CWatchToolbar(CWatchWindow* parent, const wxWindowID id) - : wxAuiToolBar(parent, id, wxDefaultPosition, wxDefaultSize, - wxAUI_TB_DEFAULT_STYLE | wxAUI_TB_TEXT) + : DolphinAuiToolBar(parent, id, wxDefaultPosition, wxDefaultSize, + wxAUI_TB_DEFAULT_STYLE | wxAUI_TB_TEXT) { SetToolBitmapSize(wxSize(16, 16)); |
