summaryrefslogtreecommitdiffstats
path: root/ubuntu/maverick/kdebase/debian/patches
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2011-07-10 16:17:43 -0500
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2011-07-10 16:17:43 -0500
commit9b2075d9b89fc628c447fbb98f43ef72e4a9c81d (patch)
tree2de9e866f064b1c7d36df24de1df305474f949fe /ubuntu/maverick/kdebase/debian/patches
downloadtde-packaging-9b2075d9b89fc628c447fbb98f43ef72e4a9c81d.tar.gz
tde-packaging-9b2075d9b89fc628c447fbb98f43ef72e4a9c81d.zip
Initial import from old SVN repository
Note that only the Debian and Ubuntu folders were preserved
Diffstat (limited to 'ubuntu/maverick/kdebase/debian/patches')
-rw-r--r--ubuntu/maverick/kdebase/debian/patches/disable_default_kdm_theme.diff25
-rw-r--r--ubuntu/maverick/kdebase/debian/patches/disable_startkde_wallpaper.diff31
-rw-r--r--ubuntu/maverick/kdebase/debian/patches/kubuntu_04_hide_menu_entries.diff7
-rw-r--r--ubuntu/maverick/kdebase/debian/patches/kubuntu_06_hide_home_menu_entry.diff7
-rw-r--r--ubuntu/maverick/kdebase/debian/patches/kubuntu_07_hide_knetattach_menu_entry.diff7
-rw-r--r--ubuntu/maverick/kdebase/debian/patches/kubuntu_08_hide_kcmkicker_menu_entry.diff7
-rw-r--r--ubuntu/maverick/kdebase/debian/patches/kubuntu_09_hide_kpersonaliser_menu_entry.diff7
-rw-r--r--ubuntu/maverick/kdebase/debian/patches/kubuntu_10_hide_kmenuedit_menu_entry.diff7
-rw-r--r--ubuntu/maverick/kdebase/debian/patches/kubuntu_11_hide_kappfinder_menu_entry.diff7
-rw-r--r--ubuntu/maverick/kdebase/debian/patches/kubuntu_13_hide_konsolesu_menu_entry.diff7
-rw-r--r--ubuntu/maverick/kdebase/debian/patches/kubuntu_14_hide_konquerorsu_menu_entry.diff7
-rw-r--r--ubuntu/maverick/kdebase/debian/patches/kubuntu_15_hide_kfontview_menu_entry.diff7
-rw-r--r--ubuntu/maverick/kdebase/debian/patches/kubuntu_16_hide_kpager_menu_entry.diff7
-rw-r--r--ubuntu/maverick/kdebase/debian/patches/kubuntu_35_hide_klipper_menu_entry.diff7
-rw-r--r--ubuntu/maverick/kdebase/debian/patches/kubuntu_37_hide_kdeprintfax_menu_entry.diff7
-rw-r--r--ubuntu/maverick/kdebase/debian/patches/kubuntu_48_hide_display.diff7
-rw-r--r--ubuntu/maverick/kdebase/debian/patches/kubuntu_70_hide_printers_desktop.diff9
-rw-r--r--ubuntu/maverick/kdebase/debian/patches/kubuntu_78_kcontrol_hide_component_chooser.diff8
-rw-r--r--ubuntu/maverick/kdebase/debian/patches/kubuntu_89_new_logout_ui.diff23
-rw-r--r--ubuntu/maverick/kdebase/debian/patches/kubuntu_9904_hide_kfind.diff7
-rw-r--r--ubuntu/maverick/kdebase/debian/patches/kubuntu_9921_kdm_bulletproof_x.diff64
21 files changed, 265 insertions, 0 deletions
diff --git a/ubuntu/maverick/kdebase/debian/patches/disable_default_kdm_theme.diff b/ubuntu/maverick/kdebase/debian/patches/disable_default_kdm_theme.diff
new file mode 100644
index 000000000..ad6fa4cf8
--- /dev/null
+++ b/ubuntu/maverick/kdebase/debian/patches/disable_default_kdm_theme.diff
@@ -0,0 +1,25 @@
+--- kdm/config.def
++++ kdm/config.def
+@@ -2614,18 +2614,18 @@
+
+ Key: UseTheme
+ Type: bool
+-Default: true
++Default: false
+ User: greeter
+-Instance: */true
++Instance: #*/true
+ Comment: &
+ Description:
+ Whether the greeter should be themed.
+
+ Key: Theme
+ Type: string
+-Default: KDMDATA "/themes/o2_enterprise"
++Default: ""
+ User: greeter
+-Instance: */KDMDATA "/themes/o2_enterprise"
++Instance: */ "@@@ToBeReplacedByDesktopBase@@@"
+ Comment: &
+ Description:
+ The theme to use for the greeter. Can point to either a directory or an XML
diff --git a/ubuntu/maverick/kdebase/debian/patches/disable_startkde_wallpaper.diff b/ubuntu/maverick/kdebase/debian/patches/disable_startkde_wallpaper.diff
new file mode 100644
index 000000000..838bbec11
--- /dev/null
+++ b/ubuntu/maverick/kdebase/debian/patches/disable_startkde_wallpaper.diff
@@ -0,0 +1,31 @@
+--- startkde
++++ startkde
+@@ -184,17 +184,17 @@
+ . $kdehome/share/config/startupconfig
+ fi
+
+-# Make sure a default wallpaper is set.
+-if [ ! -e $kdehome/share/config/kdesktoprc ]; then
+- # With Trinity KDE this file should exist, but test first.
+- if [ -r /usr/share/wallpapers/isadora.png.desktop ]; then
+-cat >$kdehome/share/config/kdesktoprc <<EOF
+-[Desktop0]
+-Wallpaper=isadora.png
+-WallpaperMode=Scaled
+-EOF
+- fi
+-fi
++## Make sure a default wallpaper is set.
++#if [ ! -e $kdehome/share/config/kdesktoprc ]; then
++# # With Trinity KDE this file should exist, but test first.
++# if [ -r /usr/share/wallpapers/isadora.png.desktop ]; then
++#cat >$kdehome/share/config/kdesktoprc <<EOF
++#[Desktop0]
++#Wallpaper=isadora.png
++#WallpaperMode=Scaled
++#EOF
++# fi
++#fi
+
+ # XCursor mouse theme needs to be applied here to work even for kded or ksmserver.
+ if test -n "$kcminputrc_mouse_cursortheme" -o -n "$kcminputrc_mouse_cursorsize" ; then
diff --git a/ubuntu/maverick/kdebase/debian/patches/kubuntu_04_hide_menu_entries.diff b/ubuntu/maverick/kdebase/debian/patches/kubuntu_04_hide_menu_entries.diff
new file mode 100644
index 000000000..5fca9c324
--- /dev/null
+++ b/ubuntu/maverick/kdebase/debian/patches/kubuntu_04_hide_menu_entries.diff
@@ -0,0 +1,7 @@
+--- kdebase/kate/data/kwrite.desktop 2005-03-17 02:30:43.361137168 +0000
++++ kdebase/kate/data/kwrite.desktop 2005-03-17 02:30:51.972827992 +0000
+@@ -103,3 +103,4 @@
+ InitialPreference=8
+ X-DCOP-ServiceType=Multi
+ Categories=Qt;KDE;TextEditor;
++NoDisplay=true
diff --git a/ubuntu/maverick/kdebase/debian/patches/kubuntu_06_hide_home_menu_entry.diff b/ubuntu/maverick/kdebase/debian/patches/kubuntu_06_hide_home_menu_entry.diff
new file mode 100644
index 000000000..b9fe3609a
--- /dev/null
+++ b/ubuntu/maverick/kdebase/debian/patches/kubuntu_06_hide_home_menu_entry.diff
@@ -0,0 +1,7 @@
+--- kdebase/konqueror/Home.desktop-orig 2005-03-17 02:27:51.835213072 +0000
++++ kdebase/konqueror/Home.desktop 2005-03-17 02:27:58.766159408 +0000
+@@ -151,3 +151,4 @@
+ GenericName[zu]=Amafayela Omuntu siqu
+ Categories=Qt;KDE;Core;
+ OnlyShowIn=KDE;
++NoDisplay=true
diff --git a/ubuntu/maverick/kdebase/debian/patches/kubuntu_07_hide_knetattach_menu_entry.diff b/ubuntu/maverick/kdebase/debian/patches/kubuntu_07_hide_knetattach_menu_entry.diff
new file mode 100644
index 000000000..6768121dd
--- /dev/null
+++ b/ubuntu/maverick/kdebase/debian/patches/kubuntu_07_hide_knetattach_menu_entry.diff
@@ -0,0 +1,7 @@
+--- kdebase/knetattach/knetattach.desktop 2005-03-17 02:33:16.506855480 +0000
++++ kdebase/knetattach/knetattach.desktop 2005-03-17 02:33:22.186991968 +0000
+@@ -45,3 +45,4 @@
+ X-KDE-StartupNotify=true
+ Categories=Qt;KDE;Network;
+ DocPath=knetattach/index.html
++OnlyShowIn=Old;
diff --git a/ubuntu/maverick/kdebase/debian/patches/kubuntu_08_hide_kcmkicker_menu_entry.diff b/ubuntu/maverick/kdebase/debian/patches/kubuntu_08_hide_kcmkicker_menu_entry.diff
new file mode 100644
index 000000000..d5e944949
--- /dev/null
+++ b/ubuntu/maverick/kdebase/debian/patches/kubuntu_08_hide_kcmkicker_menu_entry.diff
@@ -0,0 +1,7 @@
+--- kdebase/kicker/kicker/kcmkicker.desktop 2005-03-17 01:03:22.645846992 +0000
++++ kdebase/kicker/kicker/kcmkicker.desktop 2005-03-17 01:03:30.907591016 +0000
+@@ -67,3 +67,4 @@
+ X-KDE-StartupNotify=true
+ OnlyShowIn=KDE;
+ Categories=Qt;KDE;Settings;
++NoDisplay=true
diff --git a/ubuntu/maverick/kdebase/debian/patches/kubuntu_09_hide_kpersonaliser_menu_entry.diff b/ubuntu/maverick/kdebase/debian/patches/kubuntu_09_hide_kpersonaliser_menu_entry.diff
new file mode 100644
index 000000000..0bba8642d
--- /dev/null
+++ b/ubuntu/maverick/kdebase/debian/patches/kubuntu_09_hide_kpersonaliser_menu_entry.diff
@@ -0,0 +1,7 @@
+--- kdebase/kpersonalizer/kpersonalizer.desktop-orig 2005-03-17 01:05:16.091600616 +0000
++++ kdebase/kpersonalizer/kpersonalizer.desktop 2005-03-17 01:05:23.678447240 +0000
+@@ -77,3 +77,4 @@
+ X-DCOP-ServiceType=Multi
+ Categories=Qt;KDE;Settings;
+ OnlyShowIn=KDE;
++NoDisplay=true
diff --git a/ubuntu/maverick/kdebase/debian/patches/kubuntu_10_hide_kmenuedit_menu_entry.diff b/ubuntu/maverick/kdebase/debian/patches/kubuntu_10_hide_kmenuedit_menu_entry.diff
new file mode 100644
index 000000000..317ad4913
--- /dev/null
+++ b/ubuntu/maverick/kdebase/debian/patches/kubuntu_10_hide_kmenuedit_menu_entry.diff
@@ -0,0 +1,7 @@
+--- kdebase/kmenuedit/kmenuedit.desktop-orig 2005-03-17 01:06:56.707304704 +0000
++++ kdebase/kmenuedit/kmenuedit.desktop 2005-03-17 01:07:22.785340240 +0000
+@@ -82,3 +82,4 @@
+
+ X-DCOP-ServiceType=Unique
+ Categories=Qt;KDE;Settings;
++OnlyShowIn=Old;
diff --git a/ubuntu/maverick/kdebase/debian/patches/kubuntu_11_hide_kappfinder_menu_entry.diff b/ubuntu/maverick/kdebase/debian/patches/kubuntu_11_hide_kappfinder_menu_entry.diff
new file mode 100644
index 000000000..6b6d4e047
--- /dev/null
+++ b/ubuntu/maverick/kdebase/debian/patches/kubuntu_11_hide_kappfinder_menu_entry.diff
@@ -0,0 +1,7 @@
+--- kdebase/kappfinder/kappfinder.desktop 2005-03-17 01:08:26.659629872 +0000
++++ kdebase/kappfinder/kappfinder.desktop 2005-03-17 01:08:34.189485160 +0000
+@@ -64,3 +64,4 @@
+ Name[zh_CN]=菜单更新工具
+ X-DCOP-ServiceType=Multi
+ Categories=Qt;KDE;Settings;
++NoDisplay=true
diff --git a/ubuntu/maverick/kdebase/debian/patches/kubuntu_13_hide_konsolesu_menu_entry.diff b/ubuntu/maverick/kdebase/debian/patches/kubuntu_13_hide_konsolesu_menu_entry.diff
new file mode 100644
index 000000000..723aec0d2
--- /dev/null
+++ b/ubuntu/maverick/kdebase/debian/patches/kubuntu_13_hide_konsolesu_menu_entry.diff
@@ -0,0 +1,7 @@
+--- kdebase/konsole/konsolesu.desktop
++++ kdebase/konsole/konsolesu.desktop
+@@ -64,3 +64,4 @@
+ Name[zh_CN]=终端程序 - 超级用户模式
+ X-KDE-AuthorizeAction=shell_access
+ Categories=Qt;KDE;X-KDE-System-su;
++NoDisplay=true
diff --git a/ubuntu/maverick/kdebase/debian/patches/kubuntu_14_hide_konquerorsu_menu_entry.diff b/ubuntu/maverick/kdebase/debian/patches/kubuntu_14_hide_konquerorsu_menu_entry.diff
new file mode 100644
index 000000000..1559f0f95
--- /dev/null
+++ b/ubuntu/maverick/kdebase/debian/patches/kubuntu_14_hide_konquerorsu_menu_entry.diff
@@ -0,0 +1,7 @@
+--- kdebase/konqueror/konquerorsu.desktop
++++ kdebase/konqueror/konquerorsu.desktop
+@@ -82,3 +82,4 @@
+
+ Categories=Qt;KDE;X-KDE-System-su;
+ NotShowIn=GNOME;
++NoDisplay=true
diff --git a/ubuntu/maverick/kdebase/debian/patches/kubuntu_15_hide_kfontview_menu_entry.diff b/ubuntu/maverick/kdebase/debian/patches/kubuntu_15_hide_kfontview_menu_entry.diff
new file mode 100644
index 000000000..cce526122
--- /dev/null
+++ b/ubuntu/maverick/kdebase/debian/patches/kubuntu_15_hide_kfontview_menu_entry.diff
@@ -0,0 +1,7 @@
+--- kdebase/kcontrol/kfontinst/viewpart/kfontview.desktop
++++ kdebase/kcontrol/kfontinst/viewpart/kfontview.desktop
+@@ -71,3 +71,4 @@
+ Terminal=false
+ InitialPreference=1
+ Categories=Qt;KDE;Graphics;
++NoDisplay=true
diff --git a/ubuntu/maverick/kdebase/debian/patches/kubuntu_16_hide_kpager_menu_entry.diff b/ubuntu/maverick/kdebase/debian/patches/kubuntu_16_hide_kpager_menu_entry.diff
new file mode 100644
index 000000000..53f517879
--- /dev/null
+++ b/ubuntu/maverick/kdebase/debian/patches/kubuntu_16_hide_kpager_menu_entry.diff
@@ -0,0 +1,7 @@
+--- kdebase/kpager/kpager.desktop
++++ kdebase/kpager/kpager.desktop
+@@ -96,3 +96,4 @@
+ X-KDE-StartupNotify=false
+ X-DCOP-ServiceType=Unique
+ Categories=Qt;KDE;Utility;X-KDE-Utilities-Desktop;
++NoDisplay=true
diff --git a/ubuntu/maverick/kdebase/debian/patches/kubuntu_35_hide_klipper_menu_entry.diff b/ubuntu/maverick/kdebase/debian/patches/kubuntu_35_hide_klipper_menu_entry.diff
new file mode 100644
index 000000000..5b28ee4df
--- /dev/null
+++ b/ubuntu/maverick/kdebase/debian/patches/kubuntu_35_hide_klipper_menu_entry.diff
@@ -0,0 +1,7 @@
+--- kdebase/klipper/klipper.desktop
++++ kdebase/klipper/klipper.desktop
+@@ -143,3 +143,4 @@
+ Comment[zh_CN]=剪贴历史工具
+ Comment[zh_TW]=剪貼紀錄公用程式
+
++NoDisplay=true
diff --git a/ubuntu/maverick/kdebase/debian/patches/kubuntu_37_hide_kdeprintfax_menu_entry.diff b/ubuntu/maverick/kdebase/debian/patches/kubuntu_37_hide_kdeprintfax_menu_entry.diff
new file mode 100644
index 000000000..b959582bb
--- /dev/null
+++ b/ubuntu/maverick/kdebase/debian/patches/kubuntu_37_hide_kdeprintfax_menu_entry.diff
@@ -0,0 +1,7 @@
+--- kdebase/kdeprint/kdeprintfax/kdeprintfax.desktop
++++ kdebase/kdeprint/kdeprintfax/kdeprintfax.desktop
+@@ -90,3 +90,4 @@
+ Terminal=false
+ X-DCOP-ServiceType=Multi
+ Categories=Qt;KDE;Utility;X-KDE-Utilities-Peripherals;
++NoDisplay=true
diff --git a/ubuntu/maverick/kdebase/debian/patches/kubuntu_48_hide_display.diff b/ubuntu/maverick/kdebase/debian/patches/kubuntu_48_hide_display.diff
new file mode 100644
index 000000000..2de447630
--- /dev/null
+++ b/ubuntu/maverick/kdebase/debian/patches/kubuntu_48_hide_display.diff
@@ -0,0 +1,7 @@
+--- kdebase/kcontrol/display/display.desktop
++++ kdebase/kcontrol/display/display.desktop
+@@ -135,3 +135,4 @@
+ Comment[zh_CN]=显示设置
+ Comment[zh_TW]=顯示設定
+ Categories=Qt;KDE;X-KDE-settings-hardware;
++NoDisplay=true
diff --git a/ubuntu/maverick/kdebase/debian/patches/kubuntu_70_hide_printers_desktop.diff b/ubuntu/maverick/kdebase/debian/patches/kubuntu_70_hide_printers_desktop.diff
new file mode 100644
index 000000000..88081e51e
--- /dev/null
+++ b/ubuntu/maverick/kdebase/debian/patches/kubuntu_70_hide_printers_desktop.diff
@@ -0,0 +1,9 @@
+diff -Nur kdebase-3.5.4/kdeprint/printmgr/printers.desktop kdebase-3.5.4.new/kdeprint/printmgr/printers.desktop
+--- kdebase-3.5.4/kdeprint/printmgr/printers.desktop 2006-07-22 10:15:47.000000000 +0200
++++ kdebase-3.5.4.new/kdeprint/printmgr/printers.desktop 2006-08-21 22:20:40.000000000 +0200
+@@ -219,4 +219,4 @@
+ Keywords[zh_TW]=print,printer,printing management,列印,印表機,列印管理
+ Keywords[zu]=shicilela,umshicileli,abaphathi boshicilelo
+
+-Categories=Qt;KDE;X-KDE-settings-hardware;Settings;
++Categories=Qt;KDE;X-KDE-settings-hardware;
diff --git a/ubuntu/maverick/kdebase/debian/patches/kubuntu_78_kcontrol_hide_component_chooser.diff b/ubuntu/maverick/kdebase/debian/patches/kubuntu_78_kcontrol_hide_component_chooser.diff
new file mode 100644
index 000000000..8fc8abb28
--- /dev/null
+++ b/ubuntu/maverick/kdebase/debian/patches/kubuntu_78_kcontrol_hide_component_chooser.diff
@@ -0,0 +1,8 @@
+diff -Nur kdebase-3.5.4/kcontrol/componentchooser/componentchooser.desktop kdebase-3.5.4.new/kcontrol/componentchooser/componentchooser.desktop
+--- kdebase-3.5.4/kcontrol/componentchooser/componentchooser.desktop 2006-07-22 10:15:23.000000000 +0200
++++ kdebase-3.5.4.new/kcontrol/componentchooser/componentchooser.desktop 2006-09-08 13:42:48.000000000 +0200
+@@ -214,3 +214,4 @@
+ Keywords[zu]=amalunga,umkhethi welunga,amathuluzi okusebenza,umxhasi weposi lekhomputha,umlingisi wethuluzi langaphandle
+
+ Categories=Qt;KDE;X-KDE-settings-components;
++NoDisplay=true
diff --git a/ubuntu/maverick/kdebase/debian/patches/kubuntu_89_new_logout_ui.diff b/ubuntu/maverick/kdebase/debian/patches/kubuntu_89_new_logout_ui.diff
new file mode 100644
index 000000000..52fa6a4d5
--- /dev/null
+++ b/ubuntu/maverick/kdebase/debian/patches/kubuntu_89_new_logout_ui.diff
@@ -0,0 +1,23 @@
+--- kdm/kfrontend/kdmshutdown.cpp
++++ kdm/kfrontend/kdmshutdown.cpp
+@@ -467,7 +467,7 @@
+ , targetList( 0 )
+ {
+
+- bool doUbuntuLogout = KConfigGroup(KGlobal::config(), "Shutdown").readBoolEntry("doUbuntuLogout", false);
++ bool doUbuntuLogout = KConfigGroup(KGlobal::config(), "Shutdown").readBoolEntry("doUbuntuLogout", true);
+
+ TQVBoxLayout* vbox = new TQVBoxLayout( this );
+ TQHBoxLayout *hbox = new TQHBoxLayout( this, KDmh, KDsh );
+
+--- ksmserver/shutdowndlg.cpp
++++ ksmserver/shutdowndlg.cpp
+@@ -278,7 +278,7 @@
+ 2 * KDialog::spacingHint() );
+
+ // default factor
+- bool doUbuntuLogout = KConfigGroup(KGlobal::config(), "Logout").readBoolEntry("doUbuntuLogout", false);
++ bool doUbuntuLogout = KConfigGroup(KGlobal::config(), "Logout").readBoolEntry("doUbuntuLogout", true);
+
+ // slighty more space for the new logout
+ int factor = 2; \ No newline at end of file
diff --git a/ubuntu/maverick/kdebase/debian/patches/kubuntu_9904_hide_kfind.diff b/ubuntu/maverick/kdebase/debian/patches/kubuntu_9904_hide_kfind.diff
new file mode 100644
index 000000000..72ecfb55f
--- /dev/null
+++ b/ubuntu/maverick/kdebase/debian/patches/kubuntu_9904_hide_kfind.diff
@@ -0,0 +1,7 @@
+--- kdebase-3.5.7/kfind/Kfind.desktop
++++ kdebase-3.5.7/kfind/Kfind.desktop
+@@ -73,3 +73,4 @@
+ X-KDE-StartupNotify=true
+ OnlyShowIn=KDE;
+ Categories=Qt;KDE;Core;
++NoDisplay=true
diff --git a/ubuntu/maverick/kdebase/debian/patches/kubuntu_9921_kdm_bulletproof_x.diff b/ubuntu/maverick/kdebase/debian/patches/kubuntu_9921_kdm_bulletproof_x.diff
new file mode 100644
index 000000000..4aad9f8e3
--- /dev/null
+++ b/ubuntu/maverick/kdebase/debian/patches/kubuntu_9921_kdm_bulletproof_x.diff
@@ -0,0 +1,64 @@
+--- kdebase-3.5.8/kdm/backend/dm.c 2008-02-13 23:59:17.000000000 +0200
++++ kdebase-3.5.8/kdm/backend/dm.c 2008-02-14 11:22:41.000000000 +0200
+@@ -996,9 +996,14 @@ ReapChildren( void )
+ /* don't kill again */
+ break;
+ case running:
+- if (startingServer == d && d->serverStatus != ignore) {
+- if (d->serverStatus == starting && waitCode( status ) != 47)
+- LogError( "X server died during startup\n" );
++ LogError("X server terminated: [%d, %d, %d]\n",
++ (startingServer == d),
++ (d->serverStatus),
++ (waitCode(status)));
++
++ if (startingServer == d /*&& d->serverStatus != ignore*/) {
++ if (/*d->serverStatus == starting &&*/ waitCode( status ) != 47)
++ LogError( "X server died during startup\n" );
+ StartServerFailed();
+ break;
+ }
+--- kdebase-3.5.8/kdm/backend/server.c 2008-02-13 23:59:17.000000000 +0200
++++ kdebase-3.5.8/kdm/backend/server.c 2008-02-14 11:41:20.000000000 +0200
+@@ -48,6 +48,10 @@ from the copyright holder.
+ struct display *startingServer;
+ time_t serverTimeout = TO_INF;
+
++#define SERVER_ATTEMPTS 3
++
++char* failsafeXServer[] = {"/etc/gdm/failsafeXServer", 0};
++
+ char **
+ PrepServerArgv( struct display *d, const char *args )
+ {
+@@ -128,6 +132,7 @@ StartServer( struct display *d )
+ {
+ startingServer = d;
+ d->startTries = 0;
++ d->serverAttempts = SERVER_ATTEMPTS;
+ StartServerOnce();
+ }
+
+@@ -150,6 +155,7 @@ void
+ StartServerSuccess()
+ {
+ struct display *d = startingServer;
++ LogError("StartServerSucces\n");
+ d->serverStatus = ignore;
+ serverTimeout = TO_INF;
+ Debug( "X server ready, starting session\n" );
+@@ -161,9 +167,14 @@ StartServerFailed()
+ {
+ struct display *d = startingServer;
+ if (!d->serverAttempts || d->startTries < d->serverAttempts) {
++ LogError("Failed to start X server. Starting failsafe X server.\n");
++
++ runAndWait(failsafeXServer, 0);
++
+ d->serverStatus = pausing;
+ serverTimeout = d->openDelay + now;
+ } else {
++ LogError("StartServerFailed\n");
+ d->serverStatus = ignore;
+ serverTimeout = TO_INF;
+ startingServer = 0;