From 37de84d55f891e33c8e7e02e50cd2caf96c0901a Mon Sep 17 00:00:00 2001 From: Gregory Hainaut Date: Mon, 28 Mar 2016 14:33:21 +0200 Subject: [PATCH 01/13] x86emitter: initialize scalar field CID:147038 --- common/include/x86emitter/tools.h | 92 +++++++++++++++-------------- common/src/x86emitter/cpudetect.cpp | 24 +++++++- 2 files changed, 69 insertions(+), 47 deletions(-) diff --git a/common/include/x86emitter/tools.h b/common/include/x86emitter/tools.h index 84f9c31a05..f90584fd3e 100644 --- a/common/include/x86emitter/tools.h +++ b/common/include/x86emitter/tools.h @@ -53,60 +53,62 @@ public: // x86 CPU Capabilities Section (all boolean flags!) // ---------------------------------------------------------------------------- - u32 hasFloatingPointUnit :1; - u32 hasVirtual8086ModeEnhancements :1; - u32 hasDebuggingExtensions :1; - u32 hasPageSizeExtensions :1; - u32 hasTimeStampCounter :1; - u32 hasModelSpecificRegisters :1; - u32 hasPhysicalAddressExtension :1; - u32 hasCOMPXCHG8BInstruction :1; - u32 hasAdvancedProgrammableInterruptController :1; - u32 hasSEPFastSystemCall :1; - u32 hasMemoryTypeRangeRegisters :1; - u32 hasPTEGlobalFlag :1; - u32 hasMachineCheckArchitecture :1; - u32 hasConditionalMoveAndCompareInstructions :1; - u32 hasFGPageAttributeTable :1; - u32 has36bitPageSizeExtension :1; - u32 hasProcessorSerialNumber :1; - u32 hasCFLUSHInstruction :1; - u32 hasDebugStore :1; - u32 hasACPIThermalMonitorAndClockControl :1; - u32 hasFastStreamingSIMDExtensionsSaveRestore :1; - u32 hasStreamingSIMDExtensions :1; - u32 hasStreamingSIMD2Extensions :1; - u32 hasSelfSnoop :1; + union { + struct { + u32 hasFloatingPointUnit :1; + u32 hasVirtual8086ModeEnhancements :1; + u32 hasDebuggingExtensions :1; + u32 hasPageSizeExtensions :1; + u32 hasTimeStampCounter :1; + u32 hasModelSpecificRegisters :1; + u32 hasPhysicalAddressExtension :1; + u32 hasCOMPXCHG8BInstruction :1; + u32 hasAdvancedProgrammableInterruptController :1; + u32 hasSEPFastSystemCall :1; + u32 hasMemoryTypeRangeRegisters :1; + u32 hasPTEGlobalFlag :1; + u32 hasMachineCheckArchitecture :1; + u32 hasConditionalMoveAndCompareInstructions :1; + u32 hasFGPageAttributeTable :1; + u32 has36bitPageSizeExtension :1; + u32 hasProcessorSerialNumber :1; + u32 hasCFLUSHInstruction :1; + u32 hasDebugStore :1; + u32 hasACPIThermalMonitorAndClockControl :1; + u32 hasFastStreamingSIMDExtensionsSaveRestore :1; + u32 hasStreamingSIMDExtensions :1; + u32 hasStreamingSIMD2Extensions :1; + u32 hasSelfSnoop :1; - // is TRUE for both multi-core and Hyperthreaded CPUs. - u32 hasMultiThreading :1; + // is TRUE for both multi-core and Hyperthreaded CPUs. + u32 hasMultiThreading :1; - u32 hasThermalMonitor :1; - u32 hasIntel64BitArchitecture :1; - u32 hasStreamingSIMD3Extensions :1; - u32 hasSupplementalStreamingSIMD3Extensions :1; - u32 hasStreamingSIMD4Extensions :1; - u32 hasStreamingSIMD4Extensions2 :1; - u32 hasAVX :1; - u32 hasAVX2 :1; - u32 hasBMI1 :1; - u32 hasBMI2 :1; - u32 hasFMA :1; + u32 hasThermalMonitor :1; + u32 hasIntel64BitArchitecture :1; + u32 hasStreamingSIMD3Extensions :1; + u32 hasSupplementalStreamingSIMD3Extensions :1; + u32 hasStreamingSIMD4Extensions :1; + u32 hasStreamingSIMD4Extensions2 :1; + u32 hasAVX :1; + u32 hasAVX2 :1; + u32 hasBMI1 :1; + u32 hasBMI2 :1; + u32 hasFMA :1; - // AMD-specific CPU Features - u32 hasAMD64BitArchitecture :1; - u32 hasStreamingSIMD4ExtensionsA :1; + // AMD-specific CPU Features + u32 hasAMD64BitArchitecture :1; + u32 hasStreamingSIMD4ExtensionsA :1; + }; + + u32 AllCapabilities; + }; // Core Counts! u32 PhysicalCores; u32 LogicalCores; public: - x86capabilities() - { - isIdentified = false; - VendorID = x86Vendor_Unknown; - } + x86capabilities(); void Identify(); void CountCores(); diff --git a/common/src/x86emitter/cpudetect.cpp b/common/src/x86emitter/cpudetect.cpp index b8d89a6f0f..b318909ddf 100644 --- a/common/src/x86emitter/cpudetect.cpp +++ b/common/src/x86emitter/cpudetect.cpp @@ -24,6 +24,26 @@ __aligned16 x86capabilities x86caps; // Recompiled code buffer for SSE and MXCSR feature testing. static __pagealigned u8 targetFXSAVE[512]; +x86capabilities::x86capabilities() : + isIdentified(false), + VendorID(x86Vendor_Unknown), + FamilyID(0), + Model(0), + TypeID(0), + StepID(0), + Flags(0), + Flags2(0), + EFlags(0), + EFlags2(0), + SEFlag(0), + AllCapabilities(0), + PhysicalCores(0), + LogicalCores(0) +{ + memzero(VendorName); + memzero(FamilyName); +} + // Warning! We've had problems with the MXCSR detection code causing stack corruption in // MSVC PGO builds. The problem was fixed when I moved the MXCSR code to this function, and // moved the recSSE[] array to a global static (it was local to cpudetectInit). Commented @@ -146,7 +166,7 @@ void x86capabilities::CountCores() CountLogicalCores(); } -static const char* tbl_x86vendors[] = +static const char* tbl_x86vendors[] = { "GenuineIntel", "AuthenticAMD", @@ -266,7 +286,7 @@ void x86capabilities::Identify() hasSupplementalStreamingSIMD3Extensions = ( Flags2 >> 9 ) & 1; //ssse3 hasStreamingSIMD4Extensions = ( Flags2 >> 19 ) & 1; //sse4.1 hasStreamingSIMD4Extensions2 = ( Flags2 >> 20 ) & 1; //sse4.2 - + if((Flags2 >> 27) & 1) // OSXSAVE { if((_xgetbv(0) & 6) == 6) // XFEATURE_ENABLED_MASK[2:1] = '11b' (XMM state and YMM state are enabled by OS). From 791a0ce702b2d97bf50d0289a624e10f0aeaea90 Mon Sep 17 00:00:00 2001 From: Gregory Hainaut Date: Mon, 28 Mar 2016 14:38:30 +0200 Subject: [PATCH 02/13] common: initialize scalar field of pxThread CID 147022 v2: initialize all member in initializer list --- common/src/Utilities/ThreadTools.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/common/src/Utilities/ThreadTools.cpp b/common/src/Utilities/ThreadTools.cpp index 417dbe05d5..a9827cceda 100644 --- a/common/src/Utilities/ThreadTools.cpp +++ b/common/src/Utilities/ThreadTools.cpp @@ -172,12 +172,12 @@ void Threading::pxThread::_pt_callback_cleanup( void* handle ) Threading::pxThread::pxThread( const wxString& name ) : m_name( name ) + , m_thread() + , m_native_id(0) + , m_native_handle(0) + , m_detached(true) // start out with m_thread in detached/invalid state + , m_running(false) { - m_detached = true; // start out with m_thread in detached/invalid state - m_running = false; - - m_native_id = 0; - m_native_handle = 0; } // This destructor performs basic "last chance" cleanup, which is a blocking join From 0fb249284f6f17d270ddde26f5f9ba93d0c4dd31 Mon Sep 17 00:00:00 2001 From: Gregory Hainaut Date: Mon, 28 Mar 2016 16:08:42 +0200 Subject: [PATCH 03/13] debugger: initialized member CID 147003 CID 147004 --- pcsx2/DebugTools/DisassemblyManager.h | 15 ++++++++------- pcsx2/DebugTools/MipsAssembler.cpp | 6 ++++-- pcsx2/DebugTools/MipsAssembler.h | 4 ++-- 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/pcsx2/DebugTools/DisassemblyManager.h b/pcsx2/DebugTools/DisassemblyManager.h index 9058b9f5f0..c2f0266a41 100644 --- a/pcsx2/DebugTools/DisassemblyManager.h +++ b/pcsx2/DebugTools/DisassemblyManager.h @@ -108,12 +108,13 @@ private: class DisassemblyMacro: public DisassemblyEntry { public: - DisassemblyMacro(DebugInterface* _cpu, u32 _address): cpu(_cpu), address(_address) { }; + DisassemblyMacro(DebugInterface* _cpu, u32 _address): + cpu(_cpu), type(MACRO_LI), name(), immediate(0), address(_address), numOpcodes(0), rt(0), dataSize(0) { }; virtual ~DisassemblyMacro() { }; - + void setMacroLi(u32 _immediate, u8 _rt); void setMacroMemory(std::string _name, u32 _immediate, u8 _rt, int _dataSize); - + virtual void recheck() { }; virtual int getNumLines() { return 1; }; virtual int getLineNum(u32 address, bool findStart) { return 0; }; @@ -122,7 +123,7 @@ public: virtual bool disassemble(u32 address, DisassemblyLineInfo& dest, bool insertSymbols) ; private: enum MacroType { MACRO_LI, MACRO_MEMORYIMM }; - + DebugInterface* cpu; MacroType type; std::string name; @@ -139,7 +140,7 @@ class DisassemblyData: public DisassemblyEntry public: DisassemblyData(DebugInterface* _cpu, u32 _address, u32 _size, DataType _type); virtual ~DisassemblyData() { }; - + virtual void recheck(); virtual int getNumLines() { return (int)lines.size(); }; virtual int getLineNum(u32 address, bool findStart); @@ -155,7 +156,7 @@ private: u32 size; int lineNum; }; - + DebugInterface* cpu; u32 address; u32 size; @@ -170,7 +171,7 @@ class DisassemblyComment: public DisassemblyEntry public: DisassemblyComment(DebugInterface* _cpu, u32 _address, u32 _size, std::string name, std::string param); virtual ~DisassemblyComment() { }; - + virtual void recheck() { }; virtual int getNumLines() { return 1; }; virtual int getLineNum(u32 address, bool findStart) { return 0; }; diff --git a/pcsx2/DebugTools/MipsAssembler.cpp b/pcsx2/DebugTools/MipsAssembler.cpp index 4fbf3b3cd7..ffcc5ed969 100644 --- a/pcsx2/DebugTools/MipsAssembler.cpp +++ b/pcsx2/DebugTools/MipsAssembler.cpp @@ -367,9 +367,11 @@ bool MipsCheckImmediate(const char* Source, DebugInterface* cpu, int& dest, int& return true; } -CMipsInstruction::CMipsInstruction(DebugInterface* cpu) +CMipsInstruction::CMipsInstruction(DebugInterface* cpu) : + Opcode(), NoCheckError(false), Loaded(false), RamPos(0), + registers(), immediateType(MIPS_NOIMMEDIATE), immediate(), + vfpuSize(0), encoding(0), error() { - Loaded = false; this->cpu = cpu; } diff --git a/pcsx2/DebugTools/MipsAssembler.h b/pcsx2/DebugTools/MipsAssembler.h index 01c7459826..b9230c51c0 100644 --- a/pcsx2/DebugTools/MipsAssembler.h +++ b/pcsx2/DebugTools/MipsAssembler.h @@ -43,11 +43,11 @@ struct MipsOpcodeRegisters { MipsRegisterInfo grs; // general source reg MipsRegisterInfo grt; // general target reg MipsRegisterInfo grd; // general dest reg - + MipsRegisterInfo frs; // float source reg MipsRegisterInfo frt; // float target reg MipsRegisterInfo frd; // float dest reg - + MipsRegisterInfo ps2vrs; // ps2 vector source reg MipsRegisterInfo ps2vrt; // ps2 vector target reg MipsRegisterInfo ps2vrd; // ps2 vector dest reg From beadc0e69b0cf5b34ac6c80d27e62623a9ad4dc5 Mon Sep 17 00:00:00 2001 From: Gregory Hainaut Date: Mon, 28 Mar 2016 16:14:16 +0200 Subject: [PATCH 04/13] pcsx2:gif: reset field from the constructor CID 147031 --- pcsx2/Gif_Unit.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pcsx2/Gif_Unit.h b/pcsx2/Gif_Unit.h index ecbaa54357..5d26614ccb 100644 --- a/pcsx2/Gif_Unit.h +++ b/pcsx2/Gif_Unit.h @@ -166,7 +166,7 @@ struct Gif_Path { GIF_PATH_STATE state; // Path State Gif_Path_MTVU mtvu; // Must be last for saved states - Gif_Path() {} + Gif_Path() { Reset(); } ~Gif_Path() { _aligned_free(buffer); } void Init(GIF_PATH _idx, u32 _buffSize, u32 _buffSafeZone) { From 459aebe8bf1cbf3fab56ac238e6538f37d878f83 Mon Sep 17 00:00:00 2001 From: Gregory Hainaut Date: Mon, 28 Mar 2016 16:18:24 +0200 Subject: [PATCH 05/13] pcsx2:gif: initialize gif unit member CID 147032 --- pcsx2/Gif_Unit.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pcsx2/Gif_Unit.h b/pcsx2/Gif_Unit.h index 5d26614ccb..534f7054f9 100644 --- a/pcsx2/Gif_Unit.h +++ b/pcsx2/Gif_Unit.h @@ -423,7 +423,7 @@ struct Gif_Unit { tGIF_STAT& stat; GIF_TRANSFER_TYPE lastTranType; // Last Transfer Type - Gif_Unit() : stat(gifRegs.stat) { + Gif_Unit() : gsSIGNAL(), gsFINISH(), stat(gifRegs.stat), lastTranType(GIF_TRANS_INVALID) { gifPath[0].Init(GIF_PATH_1, _1mb*9, _1mb + _1kb); gifPath[1].Init(GIF_PATH_2, _1mb*9, _1mb + _1kb); gifPath[2].Init(GIF_PATH_3, _1mb*9, _1mb + _1kb); From cf722fdf5040b849357ce53dacb75a2c34863ed7 Mon Sep 17 00:00:00 2001 From: Gregory Hainaut Date: Mon, 28 Mar 2016 16:31:21 +0200 Subject: [PATCH 06/13] pcsx2: Initialized member of SysCorePlugins CID 147006 --- pcsx2/PluginManager.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pcsx2/PluginManager.cpp b/pcsx2/PluginManager.cpp index 1a29b8db19..5f79352c9f 100644 --- a/pcsx2/PluginManager.cpp +++ b/pcsx2/PluginManager.cpp @@ -832,6 +832,11 @@ static void PS2E_CALLBACK pcsx2_OSD_WriteLn( int icon, const char* msg ) // --------------------------------------------------------------------------------- // PluginStatus_t Implementations // --------------------------------------------------------------------------------- +SysCorePlugins::SysCorePlugins() : + m_mcdPlugin(NULL), m_SettingsFolder(), m_LogFolder(), m_mtx_PluginStatus(), m_mcdOpen(false) +{ +} + SysCorePlugins::PluginStatus_t::PluginStatus_t( PluginsEnum_t _pid, const wxString& srcfile ) : Filename( srcfile ) { @@ -971,10 +976,6 @@ void SysCorePlugins::PluginStatus_t::BindOptional( PluginsEnum_t pid ) // SysCorePlugins Implementations // ===================================================================================== -SysCorePlugins::SysCorePlugins() -{ -} - SysCorePlugins::~SysCorePlugins() throw() { try From 27400b0be1720b80f2e3f88fc1d41ff85159bb7b Mon Sep 17 00:00:00 2001 From: Gregory Hainaut Date: Mon, 28 Mar 2016 17:19:13 +0200 Subject: [PATCH 07/13] pcsx2: initialize pxEvtQueue CID 146991 --- pcsx2/gui/ExecutorThread.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/pcsx2/gui/ExecutorThread.cpp b/pcsx2/gui/ExecutorThread.cpp index 2651be716b..e4f68e25a3 100644 --- a/pcsx2/gui/ExecutorThread.cpp +++ b/pcsx2/gui/ExecutorThread.cpp @@ -148,7 +148,7 @@ void SysExecEvent::_DoInvokeEvent() // Posts an empty result to the invoking context/thread of this message, if one exists. // If the invoking thread posted the event in non-blocking fashion then no action is // taken. -void SysExecEvent::PostResult() const +void SysExecEvent::PostResult() const { if( m_sync ) m_sync->PostResult(); } @@ -156,10 +156,9 @@ void SysExecEvent::PostResult() const // -------------------------------------------------------------------------------------- // pxEvtQueue Implementations // -------------------------------------------------------------------------------------- -pxEvtQueue::pxEvtQueue() +pxEvtQueue::pxEvtQueue() : + m_OwnerThreadId(), m_Quitting(false), m_qpc_Start(0) { - m_Quitting = false; - m_qpc_Start = 0; } // Puts the event queue into Shutdown mode, which does *not* immediately stop nor cancel From eb2c61ccc00aa582ab70a256c8103979ddb68b02 Mon Sep 17 00:00:00 2001 From: Gregory Hainaut Date: Mon, 28 Mar 2016 17:21:10 +0200 Subject: [PATCH 08/13] pcsx2: init FileMemoryCard CID 147037 --- pcsx2/gui/MemoryCardFile.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pcsx2/gui/MemoryCardFile.cpp b/pcsx2/gui/MemoryCardFile.cpp index 07d2e64a3f..1842baa94d 100644 --- a/pcsx2/gui/MemoryCardFile.cpp +++ b/pcsx2/gui/MemoryCardFile.cpp @@ -74,7 +74,7 @@ public: s32 Save ( uint slot, const u8 *src, u32 adr, int size ); s32 EraseBlock ( uint slot, u32 adr ); u64 GetCRC ( uint slot ); - + protected: bool Seek( wxFFile& f, u32 adr ); bool Create( const wxString& mcdFile, uint sizeInMB ); @@ -143,6 +143,7 @@ wxString FileMcd_GetDefaultName(uint slot) FileMemoryCard::FileMemoryCard() { memset8<0xff>( m_effeffs ); + m_chkaddr = 0; } void FileMemoryCard::Open() From e96b29f84f1370bb14badcfff4bb52c3c67427c1 Mon Sep 17 00:00:00 2001 From: Gregory Hainaut Date: Mon, 28 Mar 2016 17:25:10 +0200 Subject: [PATCH 09/13] mVU: init microRegAlloc CID 146988 --- pcsx2/x86/microVU_IR.h | 1 + 1 file changed, 1 insertion(+) diff --git a/pcsx2/x86/microVU_IR.h b/pcsx2/x86/microVU_IR.h index 02dbf3d6c5..04dba0d921 100644 --- a/pcsx2/x86/microVU_IR.h +++ b/pcsx2/x86/microVU_IR.h @@ -240,6 +240,7 @@ protected: public: microRegAlloc(int _index) { index = _index; + reset(); } // Fully resets the regalloc by clearing all cached data From a4d0c23071ef73788790c8103a71420c7fcb7487 Mon Sep 17 00:00:00 2001 From: Gregory Hainaut Date: Mon, 28 Mar 2016 17:34:11 +0200 Subject: [PATCH 10/13] gsdx: init GSCapture field CID 159404 --- plugins/GSdx/GSCapture.cpp | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/plugins/GSdx/GSCapture.cpp b/plugins/GSdx/GSCapture.cpp index 7e85772f64..d31a0873d5 100644 --- a/plugins/GSdx/GSCapture.cpp +++ b/plugins/GSdx/GSCapture.cpp @@ -382,6 +382,9 @@ GSCapture::GSCapture() { m_out_dir = theApp.GetConfig("capture_out_dir", "/tmp/GSdx_Capture"); m_threads = theApp.GetConfig("capture_threads", 4); +#ifdef __linux__ + m_compression_level = theApp.GetConfig("png_compression_level", Z_BEST_SPEED); +#endif } GSCapture::~GSCapture() @@ -488,14 +491,9 @@ bool GSCapture::BeginCapture(float fps, GSVector2i recomendedResolution, float a m_size.x = theApp.GetConfig("capture_resx", 1280); m_size.y = theApp.GetConfig("capture_resy", 1024); - m_compression_level = theApp.GetConfig("png_compression_level", Z_BEST_SPEED); - -#ifdef __linux__ for(int i = 0; i < m_threads; i++) { m_workers.push_back(new GSPng::Worker()); } -#endif - #endif m_capturing = true; From 856a12f94f56ad6316c88e70146e9a512cc8deda Mon Sep 17 00:00:00 2001 From: Gregory Hainaut Date: Mon, 28 Mar 2016 17:39:06 +0200 Subject: [PATCH 11/13] gsdx-ogl: init Render object CID 147002 --- plugins/GSdx/GSRendererOGL.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/GSdx/GSRendererOGL.cpp b/plugins/GSdx/GSRendererOGL.cpp index 347e21ea20..84afbc66eb 100644 --- a/plugins/GSdx/GSRendererOGL.cpp +++ b/plugins/GSdx/GSRendererOGL.cpp @@ -40,6 +40,7 @@ GSRendererOGL::GSRendererOGL() UserHacks_safe_fbmask = theApp.GetConfig("UserHacks_safe_fbmask", false); m_prim_overlap = PRIM_OVERLAP_UNKNOW; + m_unsafe_fbmask = false; if (!theApp.GetConfig("UserHacks", 0)) { UserHacks_TCOffset = 0; From 8dee7daeb9de42ba09f9b5e07ae5d8c3329887a2 Mon Sep 17 00:00:00 2001 From: Gregory Hainaut Date: Mon, 28 Mar 2016 17:39:43 +0200 Subject: [PATCH 12/13] gsdx-ogl: init textures for all formats CID 150171 --- plugins/GSdx/GSTextureOGL.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/plugins/GSdx/GSTextureOGL.cpp b/plugins/GSdx/GSTextureOGL.cpp index b38a9db98c..15ca86b3e7 100644 --- a/plugins/GSdx/GSTextureOGL.cpp +++ b/plugins/GSdx/GSTextureOGL.cpp @@ -275,7 +275,12 @@ GSTextureOGL::GSTextureOGL(int type, int w, int h, int format, GLuint fbo_read) m_int_alignment = 0; m_int_shift = 0; break; + default: + m_int_format = 0; + m_int_type = 0; + m_int_alignment = 0; + m_int_shift = 0; ASSERT(0); } From b42ddba13c93ad16eb2993fc7af25c53d867f35d Mon Sep 17 00:00:00 2001 From: Gregory Hainaut Date: Mon, 28 Mar 2016 17:46:03 +0200 Subject: [PATCH 13/13] onepad: repopulate option at the init CID 159402 --- plugins/onepad/Linux/GamepadConfiguration.cpp | 2 ++ plugins/onepad/Linux/GamepadConfiguration.h | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/plugins/onepad/Linux/GamepadConfiguration.cpp b/plugins/onepad/Linux/GamepadConfiguration.cpp index 473fe6e189..52573d744a 100644 --- a/plugins/onepad/Linux/GamepadConfiguration.cpp +++ b/plugins/onepad/Linux/GamepadConfiguration.cpp @@ -139,6 +139,8 @@ GamepadConfiguration::GamepadConfiguration(int pad, wxWindow *parent) : wxFrame( wxCommandEventHandler(GamepadConfiguration::OnCheckboxChange) ); #endif + + repopulate(); } /** diff --git a/plugins/onepad/Linux/GamepadConfiguration.h b/plugins/onepad/Linux/GamepadConfiguration.h index b2c4331d3e..21b2e5737a 100644 --- a/plugins/onepad/Linux/GamepadConfiguration.h +++ b/plugins/onepad/Linux/GamepadConfiguration.h @@ -38,7 +38,7 @@ class GamepadConfiguration : public wxFrame wxCheckBox *m_cb_rumble, *m_cb_hack_sixaxis_usb, *m_cb_hack_sixaxis_pressure; wxSlider *m_sl_rumble_intensity, *m_sl_joystick_sensibility; wxButton *m_bt_ok, *m_bt_cancel; - wxStaticText *m_lbl_rumble_intensity, *m_lbl_joystick_sensibility; + wxStaticText *m_lbl_rumble_intensity; int m_pad_id; u32 m_init_rumble_intensity, m_init_joystick_sensibility;