Skip to content

Commit 4002425

Browse files
committed
Fix crash on exit on win7
1 parent 8790c4c commit 4002425

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

src/native/win/qgswinnative.cpp

+11-2
Original file line numberDiff line numberDiff line change
@@ -54,13 +54,15 @@ void QgsWinNative::initializeMainWindow( QWindow *window,
5454
version.toStdWString() ) );
5555
if ( WinToastLib::WinToast::instance()->initialize() )
5656
{
57+
mWinToastInitialized = true;
5758
mCapabilities = mCapabilities | NativeDesktopNotifications;
5859
}
5960
}
6061

6162
void QgsWinNative::cleanup()
6263
{
63-
WinToastLib::WinToast::instance()->clear();
64+
if ( mWinToastInitialized )
65+
WinToastLib::WinToast::instance()->clear();
6466
}
6567

6668
void QgsWinNative::openFileExplorerAndSelectFile( const QString &path )
@@ -126,13 +128,20 @@ class NotificationHandler : public WinToastLib::IWinToastHandler
126128

127129
QgsNative::NotificationResult QgsWinNative::showDesktopNotification( const QString &summary, const QString &body, const QgsNative::NotificationSettings &settings )
128130
{
131+
NotificationResult result;
132+
if ( !mWinToastInitialized )
133+
{
134+
result.successful = false;
135+
return result;
136+
}
137+
129138
WinToastLib::WinToastTemplate templ = WinToastLib::WinToastTemplate( WinToastLib::WinToastTemplate::ImageAndText02 );
130139
templ.setImagePath( settings.pngAppIconPath.toStdWString() );
131140
templ.setTextField( summary.toStdWString(), WinToastLib::WinToastTemplate::FirstLine );
132141
templ.setTextField( body.toStdWString(), WinToastLib::WinToastTemplate::SecondLine );
133142
templ.setDuration( WinToastLib::WinToastTemplate::Short );
134143

135-
NotificationResult result;
144+
136145
if ( WinToastLib::WinToast::instance()->showToast( templ, new NotificationHandler ) < 0 )
137146
result.successful = false;
138147
else

src/native/win/qgswinnative.h

+1
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ class NATIVE_EXPORT QgsWinNative : public QgsNative
4646
private:
4747

4848
Capabilities mCapabilities = nullptr;
49+
bool mWinToastInitialized = false;
4950
QWinTaskbarButton *mTaskButton = nullptr;
5051
QWinTaskbarProgress *mTaskProgress = nullptr;
5152
};

0 commit comments

Comments
 (0)