@@ -70,7 +70,7 @@ void Controller::disconnectGamepad()
7070 disconnect (m_currentGamepad, &QGamepad::buttonDownChanged, this , &Controller::controllerButtonDownChanged);
7171 disconnect (m_currentGamepad, &QGamepad::buttonBChanged, this , &Controller::controllerButtonBChanged);
7272 disconnect (m_currentGamepad, &QGamepad::buttonAChanged, this , &Controller::controllerButtonAChanged);
73- delete m_currentGamepad;
73+ m_currentGamepad-> deleteLater () ;
7474 m_currentGamepad = nullptr ;
7575 }
7676}
@@ -90,56 +90,68 @@ void Controller::connectGamepad(int id)
9090
9191void Controller::controllerButtonUpChanged (bool value)
9292{
93- if (value && ! m_dpadDebounceTimer->isActive ())
93+ if (! value || m_dpadDebounceTimer->isActive ())
9494 {
95- m_dpadDebounceTimer->start ();
96- emit triggerUpAction ();
95+ return ;
9796 }
97+
98+ m_dpadDebounceTimer->start ();
99+ emit triggerUpAction ();
98100}
99101
100102void Controller::controllerButtonDownChanged (bool value)
101103{
102- if (value && ! m_dpadDebounceTimer->isActive ())
104+ if (! value || m_dpadDebounceTimer->isActive ())
103105 {
104- m_dpadDebounceTimer->start ();
105- emit triggerDownAction ();
106+ return ;
106107 }
108+
109+ m_dpadDebounceTimer->start ();
110+ emit triggerDownAction ();
107111}
108112
109113void Controller::controllerButtonLeftChanged (bool value)
110114{
111- if (value && ! m_dpadDebounceTimer->isActive ())
115+ if (! value || m_dpadDebounceTimer->isActive ())
112116 {
113- m_dpadDebounceTimer->start ();
114- emit triggerLeftAction ();
117+ return ;
115118 }
119+
120+ m_dpadDebounceTimer->start ();
121+ emit triggerLeftAction ();
116122}
117123
118124void Controller::controllerButtonRightChanged (bool value)
119125{
120- if (value && ! m_dpadDebounceTimer->isActive ())
126+ if (! value || m_dpadDebounceTimer->isActive ())
121127 {
122- m_dpadDebounceTimer->start ();
123- emit triggerRightAction ();
128+ return ;
124129 }
130+
131+ m_dpadDebounceTimer->start ();
132+ emit triggerRightAction ();
125133}
126134
127135void Controller::controllerButtonAChanged (bool value)
128136{
129- if (value && ! m_faceBtnDebounceTimer->isActive ())
137+ if (! value || m_faceBtnDebounceTimer->isActive ())
130138 {
131- m_faceBtnDebounceTimer->start ();
132- emit triggerConfirmAction ();
139+ return ;
133140 }
141+
142+ m_faceBtnDebounceTimer->start ();
143+ emit triggerConfirmAction ();
134144}
135145
136146void Controller::controllerButtonBChanged (bool value)
137147{
138- if (value && ! m_faceBtnDebounceTimer->isActive ())
148+ if (! value || m_faceBtnDebounceTimer->isActive ())
139149 {
140- m_faceBtnDebounceTimer->start ();
141- emit triggerBackAction ();
150+ return ;
142151 }
152+
153+ m_faceBtnDebounceTimer->start ();
154+ emit triggerBackAction ();
143155}
144156
145157void Controller::connectedGamepadsChanged ()
0 commit comments