summaryrefslogtreecommitdiffstats
path: root/tdm/kfrontend/kgapp.cpp
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2013-05-07 00:12:51 -0500
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2013-05-07 00:12:51 -0500
commit3421d01bb00aaf52883a4d21eade96e9c663e05d (patch)
treef294c52c8d1d12774629a2d410ec157504af3f57 /tdm/kfrontend/kgapp.cpp
parent9804217b51b058fed43a060a746f543da044b2a5 (diff)
downloadtdebase-3421d01bb00aaf52883a4d21eade96e9c663e05d.tar.gz
tdebase-3421d01bb00aaf52883a4d21eade96e9c663e05d.zip
Fix TDM hang in certain circumstances when themed greeter is deleted
This resolves Bug 1453 Resolve themed greeter drawing inconsistencies between composited and non-composited mode
Diffstat (limited to 'tdm/kfrontend/kgapp.cpp')
-rw-r--r--tdm/kfrontend/kgapp.cpp15
1 files changed, 13 insertions, 2 deletions
diff --git a/tdm/kfrontend/kgapp.cpp b/tdm/kfrontend/kgapp.cpp
index 8a7baeaf3..1a4bdb9ef 100644
--- a/tdm/kfrontend/kgapp.cpp
+++ b/tdm/kfrontend/kgapp.cpp
@@ -218,6 +218,11 @@ kg_main( const char *argv0 )
#else
trinity_desktop_lock_use_sak = false;
#endif
+ if (trinity_desktop_lock_use_sak) {
+ if (system(KDE_BINDIR "/tsak checkdeps") != 0) {
+ trinity_desktop_lock_use_sak = false;
+ }
+ }
if (trinity_desktop_lock_use_sak) {
tsak = new TDEProcess;
*tsak << TQCString( argv0, strrchr( argv0, '/' ) - argv0 + 2 ) + "tsak";
@@ -273,10 +278,11 @@ kg_main( const char *argv0 )
XSetErrorHandler( (XErrorHandler)0 );
GreeterApp *app;
- if ( (argb_visual_available == true) && (!_compositor.isEmpty()) ) {
+ if ((!_compositor.isEmpty()) && ( argb_visual_available == true )) {
app = new GreeterApp(dpyi, Qt::HANDLE( visual ), Qt::HANDLE( colormap ));
}
else {
+ argb_visual_available = false;
app = new GreeterApp(dpyi);
}
// End ARGB initialization
@@ -359,6 +365,11 @@ kg_main( const char *argv0 )
}
twin = new TDEProcess;
*twin << TQCString( argv0, strrchr( argv0, '/' ) - argv0 + 2 ) + _windowManager.ascii();
+ if (_windowManager == "twin") {
+ // Special case
+ // Do not allow twin to start kompmgr...
+ *twin << "--disablecompositionmanager";
+ }
twin->start();
has_twin = true;
}
@@ -492,7 +503,7 @@ kg_main( const char *argv0 )
if (userinfo) {
TQString newuid = TQString("%1").arg(userinfo->pw_uid);
// kompmgr allows us to change its uid in this manner:
- // 1.) Send SIGUSER1
+ // 1.) Send SIGUSR1
// 2.) Send the new UID to it on the command line
comp->kill(SIGUSR1);
comp->writeStdin(newuid.ascii(), newuid.length());