summaryrefslogtreecommitdiffstats
path: root/redhat/kdebase/kdebase-3.5.13-start_dcop_in_tdm.patch
blob: 53d7d6cdebecf97f3b78fdd1ddf2bee837e2b667 (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
--- kdebase/kdm/kfrontend/kgapp.cpp.orig	2012-04-27 22:08:53.729331548 +0200
+++ kdebase/kdm/kfrontend/kgapp.cpp	2012-04-27 22:06:29.169359295 +0200
@@ -190,6 +190,7 @@
 	KProcess *tsak = 0;
 	KProcess *proc = 0;
 	KProcess *comp = 0;
+	KProcess *dcop = 0;
 	KProcess *kwin = 0;
 
 	trinity_desktop_lock_use_sak = _useSAK;
@@ -310,6 +311,13 @@
 	}
 
 	if (!_windowManager.isEmpty()) {
+		if (_windowManager == "kwin") {
+			// Special case
+			// Start DCOP...
+			dcop = new KProcess;
+			*dcop << TQCString( argv0, strrchr( argv0, '/' ) - argv0 + 2 ) + "dcopserver" << TQCString("--suicide");
+			dcop->start();
+		}
 		kwin = new KProcess;
 		*kwin << TQCString( argv0, strrchr( argv0, '/' ) - argv0 + 2 ) + _windowManager.ascii();
 		kwin->start();
@@ -453,7 +461,9 @@
 	if (kwin) {
 		kwin->closeStdin();
 		kwin->detach();
+		dcop->detach();
 		delete kwin;
+		delete dcop;
 	}
 	delete proc;
 	UnsecureDisplay( dpy );