]> git.pld-linux.org Git - packages/kde4-kdebase-workspace.git/commitdiff
- Release 4. Gentoo stolen revert for kdm remote/XDMCP logins. auto/th/kde4-kdebase-workspace-4_8_0-4
authorMateusz Korniak <matkor@pld-linux.org>
Wed, 25 Jan 2012 11:29:26 +0000 (11:29 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    kde4-kdebase-workspace-kdm_revertcrashlogic.patch -> 1.1
    kde4-kdebase-workspace.spec -> 1.294

kde4-kdebase-workspace-kdm_revertcrashlogic.patch [new file with mode: 0644]
kde4-kdebase-workspace.spec

diff --git a/kde4-kdebase-workspace-kdm_revertcrashlogic.patch b/kde4-kdebase-workspace-kdm_revertcrashlogic.patch
new file mode 100644 (file)
index 0000000..94e47d5
--- /dev/null
@@ -0,0 +1,145 @@
+diff --git a/kdm/backend/greet.h b/kdm/backend/greet.h
+index 2ef7026..41f0791 100644
+--- a/kdm/backend/greet.h
++++ b/kdm/backend/greet.h
+@@ -146,8 +146,6 @@ from the copyright holder.
+ #define G_DChoose  3    /* run chooser */
+ #endif
+-#define G_Interact 4    /* greeter got user input. possible crash is probably not spontaneous. */
+-
+ #define G_Shutdown      101 /* 5*int, string; async */
+ # define SHUT_REBOOT      1     /* how */
+ # define SHUT_HALT        2
+diff --git a/kdm/backend/session.c b/kdm/backend/session.c
+index 85ab1d7..1b47e9c 100644
+--- a/kdm/backend/session.c
++++ b/kdm/backend/session.c
+@@ -409,12 +409,16 @@ void
+ openGreeter()
+ {
+     char *name, **env;
++    static time_t lastStart;
+     int cmd;
+     Cursor xcursor;
+     gSet(&grttalk);
+     if (grtproc.pid > 0)
+         return;
++    updateNow();
++    if (now < lastStart + 10) /* XXX should use some readiness indicator instead */
++        sessionExit(EX_UNMANAGE_DPY);
+     ASPrintf(&name, "greeter for display %s", td->name);
+     debug("starting %s\n", name);
+@@ -443,6 +447,8 @@ openGreeter()
+         sessionExit(EX_UNMANAGE_DPY);
+     }
+     debug("%s ready\n", name);
++    updateNow();
++    lastStart = now;
+ }
+ int
+@@ -544,7 +550,7 @@ manageSession(void)
+ {
+     int ex, cmd;
+     volatile int clientPid = -1;
+-    time_t tdiff, startt;
++    time_t tdiff;
+     debug("manageSession %s\n", td->name);
+     if ((ex = Setjmp(abortSession))) {
+@@ -576,13 +582,10 @@ manageSession(void)
+     updateNow();
+     tdiff = now - td->hstent->lastExit - td->openDelay;
+     if (autoLogon(tdiff)) {
+-        if (!verify(conv_auto, False)) {
+-            startt = now;
++        if (!verify(conv_auto, False))
+             goto gcont;
+-        }
+     } else {
+       regreet:
+-        startt = now;
+         openGreeter();
+ #ifdef XDMCP
+         if (((td->displayType & d_location) == dLocal) &&
+@@ -596,10 +599,6 @@ manageSession(void)
+                           G_GreetTimed : G_Greet);
+           gcont:
+             cmd = ctrlGreeterWait(True);
+-            if (cmd == G_Interact) {
+-                startt = 0;
+-                goto gcont;
+-            }
+ #ifdef XDMCP
+             while (cmd == G_DChoose) {
+               choose:
+@@ -616,9 +615,6 @@ manageSession(void)
+                 logError("Received unknown command %d from greeter\n", cmd);
+                 closeGreeter(True);
+             }
+-            updateNow();
+-            if (now < startt + 120) /* Greeter crashed spontaneously. Avoid endless loop. */
+-                sessionExit(EX_UNMANAGE_DPY);
+             goto regreet;
+         }
+     }
+diff --git a/kdm/kfrontend/kgapp.cpp b/kdm/kfrontend/kgapp.cpp
+index f169248..1bb744c 100644
+--- a/kdm/kfrontend/kgapp.cpp
++++ b/kdm/kfrontend/kgapp.cpp
+@@ -74,7 +74,7 @@ sigAlarm(int)
+ GreeterApp::GreeterApp(int &argc, char **argv) :
+     inherited(argc, argv),
+-    regrabPtr(false), regrabKbd(false), initalBusy(true), sendInteract(false),
++    regrabPtr(false), regrabKbd(false), initalBusy(true),
+     dragWidget(0)
+ {
+     pingInterval = _isLocal ? 0 : _pingInterval;
+@@ -203,14 +203,6 @@ GreeterApp::x11EventFilter(XEvent * ev)
+             break;
+         }
+         break;
+-    default:
+-        return false;
+-    }
+-    if (sendInteract) {
+-        sendInteract = false;
+-        // We assume that no asynchronous communication is going on
+-        // before the first user interaction.
+-        gSendInt(G_Interact);
+     }
+     return false;
+ }
+@@ -487,7 +479,6 @@ main(int argc ATTR_UNUSED, char **argv)
+             }
+         }
+         QObject::connect(dialog, SIGNAL(ready()), &app, SLOT(markReady()));
+-        app.enableSendInteract();
+         debug("entering event loop\n");
+         rslt = dialog->exec();
+         debug("left event loop\n");
+diff --git a/kdm/kfrontend/kgapp.h b/kdm/kfrontend/kgapp.h
+index b7c1b97..0979950 100644
+--- a/kdm/kfrontend/kgapp.h
++++ b/kdm/kfrontend/kgapp.h
+@@ -37,7 +37,6 @@ class GreeterApp : public QApplication {
+   public:
+     GreeterApp(int &argc, char **argv);
+     void markBusy();
+-    void enableSendInteract() { sendInteract = true; }
+     virtual bool x11EventFilter(XEvent *);
+   public Q_SLOTS:
+@@ -51,7 +50,7 @@ class GreeterApp : public QApplication {
+   private:
+     int pingInterval, pingTimerId;
+-    bool regrabPtr, regrabKbd, initalBusy, sendInteract;
++    bool regrabPtr, regrabKbd, initalBusy;
+     QPoint mouseStartPos, dialogStartPos;
+     QWidget *dragWidget;
+ };
index c5b83e52ba2d115cf2fe2fd1acd5140944752578..d7ea0ab5e792bfd02c9a8c9d4d93980b3def22b2 100644 (file)
@@ -8,7 +8,7 @@ Summary:        KDE 4 base workspace components
 Summary(pl.UTF-8):     Podstawowe komponenty środowiska KDE 4
 Name:          kde4-kdebase-workspace
 Version:       4.8.0
-Release:       3
+Release:       4
 License:       GPL v2+
 Group:         X11/Applications
 Source0:       ftp://ftp.kde.org/pub/kde/%{_state}/%{version}/src/%{orgname}-%{version}.tar.bz2
@@ -30,6 +30,7 @@ Source17:     kdm.service
 Patch100:      %{name}-branch.diff
 Patch0:                %{name}-rootprivs.patch
 Patch1:                %{name}-kdmconfig.patch
+Patch2:                %{name}-kdm_revertcrashlogic.patch
 URL:           http://www.kde.org/
 BuildRequires: ConsoleKit-devel
 BuildRequires: NetworkManager-devel >= 0.8.999
@@ -523,6 +524,8 @@ dialogowych mających na celu rozszerzenie przywilejów użytkownika.
 #%%patch100 -p1
 %patch0 -p1
 %patch1 -p1
+# https://bugs.kde.org/show_bug.cgi?id=281862
+%patch2 -p1
 
 %build
 install -d build
This page took 0.049237 seconds and 4 git commands to generate.