summaryrefslogtreecommitdiff
path: root/patches/vclplug/vcl-nwf-kde-startup-notification.diff
blob: 6aca84320661ee376e2e45ea91e546cfb2311d94 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
--- vcl/unx/kde/kdedata.cxx	2005-03-23 14:04:08.745017139 +0100
+++ vcl/unx/kde/kdedata.cxx	2005-03-23 14:04:02.258136858 +0100
@@ -65,6 +65,7 @@
 #include <kaboutdata.h>
 #include <kapplication.h>
 #include <kcmdlineargs.h>
+#include <kstartupinfo.h>
 #include <qpaintdevice.h>
 #undef Region
 
@@ -173,8 +174,25 @@ void KDEXLib::Init()
 
 	KCmdLineArgs::init( nFakeArgc, pFakeArgv, kAboutData );
 
+	// Do not let KApplication eat the DESKTOP_STARTUP_ID
+	char *pDesktopStartupId = NULL;
+	char *pEnv = getenv( "DESKTOP_STARTUP_ID" );
+	if ( pEnv )
+	{
+		pDesktopStartupId = strdup( pEnv );
+		unsetenv( "DESKTOP_STARTUP_ID" );
+	}
+
 	KApplication::disableAutoDcopRegistration();
+	KStartupInfo::disableAutoAppStartedSending();
 	new KApplication();
+	
+	// Now set DESKTOP_STARTUP_ID for the VCL initialization
+	if ( pDesktopStartupId )
+	{
+		setenv( "DESKTOP_STARTUP_ID", pDesktopStartupId, 1 );
+		free( pDesktopStartupId );
+	}
 
     Display* pDisp = QPaintDevice::x11AppDisplay();
 	XVisualInfo aVI;