prevent null crash

This commit is contained in:
Zach H 2016-03-15 00:22:23 -04:00
parent cbea43267e
commit 27969b6752
2 changed files with 12 additions and 5 deletions

View file

@ -5,6 +5,7 @@
#include <QAction>
#include <QSystemTrayIcon>
#include <QApplication>
#include <QDebug>
#include "tab_message.h"
#include "abstractclient.h"
#include "chatview.h"
@ -131,9 +132,15 @@ bool TabMessage::shouldShowSystemPopup(const Event_UserMessage &event) {
}
void TabMessage::showSystemPopup(const Event_UserMessage &event) {
disconnect(trayIcon, SIGNAL(messageClicked()), 0, 0);
trayIcon->showMessage(tr("Private message from ") + otherUserInfo->name().c_str(), event.message().c_str());
connect(trayIcon, SIGNAL(messageClicked()), this, SLOT(messageClicked()));
if (trayIcon) {
disconnect(trayIcon, SIGNAL(messageClicked()), 0, 0);
trayIcon->showMessage(tr("Private message from ") + otherUserInfo->name().c_str(), event.message().c_str());
connect(trayIcon, SIGNAL(messageClicked()), this, SLOT(messageClicked()));
}
else
{
qDebug() << "Error: trayIcon is NULL. TabMessage::showSystemPopup failed";
}
}
void TabMessage::messageClicked() {

View file

@ -160,8 +160,8 @@ void TabRoom::focusTab() {
}
void TabRoom::actShowMentionPopup(QString &sender) {
if (tabSupervisor->currentIndex() != tabSupervisor->indexOf(this)
|| QApplication::activeWindow() == 0 || QApplication::focusWidget() == 0) {
if (trayIcon && (tabSupervisor->currentIndex() != tabSupervisor->indexOf(this) || QApplication::activeWindow() == 0
|| QApplication::focusWidget() == 0)) {
disconnect(trayIcon, SIGNAL(messageClicked()), 0, 0);
trayIcon->showMessage(sender + tr(" mentioned you."), tr("Click to view"));
connect(trayIcon, SIGNAL(messageClicked()), chatView, SLOT(actMessageClicked()));