@@ -53,15 +53,16 @@ GamepadForm::GamepadForm()
5353
5454GamepadForm::~GamepadForm ()
5555{
56- delete mUi ;
56+ thread.quit ();
57+ thread.wait ();
5758
58- // To prevent strange stack overflow crash on exit on Linux
59- delete videoWidget ;
59+ delete player;
60+ delete mUi ;
6061}
6162
6263void GamepadForm::startControllerFromSysArgs (const QStringList &args)
6364{
64- const auto &gamepadIp = args.at (1 );
65+ const auto &gamepadIp = args.at (1 );
6566 const auto &gamepadPort = args.size () < 3 ? " 4444" : args.at (2 );
6667 const auto &cameraPort = args.size () < 4 ? " 8080" : args.at (3 );
6768 const auto &cameraIp = args.size () < 5 ? gamepadIp : args.at (4 );
@@ -72,13 +73,6 @@ void GamepadForm::startControllerFromSysArgs(const QStringList &args)
7273 Q_EMIT newConnectionParameters ();
7374}
7475
75- void GamepadForm::closeEvent (QCloseEvent *event)
76- {
77- thread.quit ();
78- thread.wait ();
79- QWidget::closeEvent (event);
80- }
81-
8276void GamepadForm::setUpGamepadForm ()
8377{
8478 createMenu ();
@@ -470,7 +464,7 @@ void GamepadForm::sendCommand(const QString &command)
470464}
471465
472466void GamepadForm::changeMode (Strategies type)
473- {
467+ {
474468 auto oldStratedy = strategy;
475469 strategy = Strategy::getStrategy (type, this );
476470 connect (strategy, &Strategy::commandPrepared, this , &GamepadForm::sendCommand);
@@ -532,9 +526,9 @@ void GamepadForm::saveImageToClipboard(QVideoFrame buffer)
532526 int g = y - int (0.39465 * (u - 128 )) - int (0.58060 * (v - 128 ));
533527 int b = y + int (2.03211 * (u - 128 ));
534528
535- r = r < 0 ? 0 : r > 255 ? 255 : r ;
536- g = g < 0 ? 0 : g > 255 ? 255 : g ;
537- b = b < 0 ? 0 : b > 255 ? 255 : b ;
529+ r = qBound ( 0 , r, 255 ) ;
530+ g = qBound ( 0 , g, 255 ) ;
531+ b = qBound ( 0 , b, 255 ) ;
538532
539533 img.setPixel (j, i, qRgb (r, g, b));
540534 }
@@ -551,7 +545,7 @@ void GamepadForm::requestImage()
551545}
552546
553547void GamepadForm::openConnectDialog ()
554- {
548+ {
555549 mMyNewConnectForm = new ConnectForm (connectionManager, &mSettings , this );
556550 connect (mMyNewConnectForm , &ConnectForm::newConnectionParameters, this , &GamepadForm::newConnectionParameters);
557551 mMyNewConnectForm ->show ();
0 commit comments