diff --git a/cockatrice/src/client/tabs/tab_supervisor.cpp b/cockatrice/src/client/tabs/tab_supervisor.cpp index edade906e..3fb696954 100644 --- a/cockatrice/src/client/tabs/tab_supervisor.cpp +++ b/cockatrice/src/client/tabs/tab_supervisor.cpp @@ -746,6 +746,8 @@ void TabSupervisor::switchToFirstAvailableNetworkTab() setCurrentWidget(roomTabs.first()); } else if (tabServer) { setCurrentWidget(tabServer); + } else { + openTabServer(); } } diff --git a/cockatrice/src/client/ui/widgets/cards/card_info_picture_widget.cpp b/cockatrice/src/client/ui/widgets/cards/card_info_picture_widget.cpp index 1d8aca5e0..c84f6a7d5 100644 --- a/cockatrice/src/client/ui/widgets/cards/card_info_picture_widget.cpp +++ b/cockatrice/src/client/ui/widgets/cards/card_info_picture_widget.cpp @@ -65,8 +65,10 @@ CardInfoPictureWidget::CardInfoPictureWidget(QWidget *parent, const bool _hoverT CardInfoPictureWidget::~CardInfoPictureWidget() { - enlargedPixmapWidget->hide(); - enlargedPixmapWidget->deleteLater(); + if (enlargedPixmapWidget) { + enlargedPixmapWidget->hide(); + enlargedPixmapWidget->deleteLater(); + } } /** diff --git a/cockatrice/src/client/ui/widgets/cards/card_info_picture_widget.h b/cockatrice/src/client/ui/widgets/cards/card_info_picture_widget.h index 38d5266f9..7de144a80 100644 --- a/cockatrice/src/client/ui/widgets/cards/card_info_picture_widget.h +++ b/cockatrice/src/client/ui/widgets/cards/card_info_picture_widget.h @@ -74,7 +74,7 @@ private: bool hoverToZoomEnabled; bool raiseOnEnter; int hoverActivateThresholdInMs = 500; - CardInfoPictureEnlargedWidget *enlargedPixmapWidget; + CardInfoPictureEnlargedWidget *enlargedPixmapWidget = nullptr; int enlargedPixmapOffset = 10; QTimer *hoverTimer; QPropertyAnimation *animation; diff --git a/cockatrice/src/client/ui/widgets/general/home_widget.cpp b/cockatrice/src/client/ui/widgets/general/home_widget.cpp index d55fdb919..12a97e85f 100644 --- a/cockatrice/src/client/ui/widgets/general/home_widget.cpp +++ b/cockatrice/src/client/ui/widgets/general/home_widget.cpp @@ -41,6 +41,8 @@ HomeWidget::HomeWidget(QWidget *parent, TabSupervisor *_tabSupervisor) initializeBackgroundFromSource(); + updateConnectButton(tabSupervisor->getClient()->getStatus()); + connect(tabSupervisor->getClient(), &RemoteClient::statusChanged, this, &HomeWidget::updateConnectButton); connect(&SettingsCache::instance(), &SettingsCache::homeTabBackgroundSourceChanged, this, &HomeWidget::initializeBackgroundFromSource); @@ -194,7 +196,7 @@ QGroupBox *HomeWidget::createButtons() void HomeWidget::updateConnectButton(const ClientStatus status) { - disconnect(connectButton); + connectButton->disconnect(); switch (status) { case StatusConnecting: connectButton->setText(tr("Connecting..."));