[26441] in Source-Commits
Re: /svn/athena r25558 -
daemon@ATHENA.MIT.EDU (Benjamin Kaduk)
Tue Jun 5 21:42:26 2012
Date: Tue, 5 Jun 2012 21:42:23 -0400 (EDT)
From: Benjamin Kaduk <kaduk@MIT.EDU>
To: Jonathan D Reed <jdreed@MIT.EDU>
cc: source-commits@MIT.EDU
In-Reply-To: <201206041554.q54FsGNI007720@drugstore.mit.edu>
Message-ID: <alpine.GSO.1.10.1206052142020.18441@multics.mit.edu>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; format=flowed; charset=US-ASCII
Oh, upstream...ACK.
-Ben
On Mon, 4 Jun 2012, Jonathan D Reed wrote:
> Author: jdreed
> Date: 2012-06-04 11:54:16 -0400 (Mon, 04 Jun 2012)
> New Revision: 25558
>
> Modified:
> trunk/debathena/config/lightdm-config/debian/changelog
> trunk/debathena/config/lightdm-config/debian/debathena-lightdm-greeter
> Log:
> In lightdm-config:
> * Explicitly set the text and id columns of the ComboBox to work around
> GtkBuilder bugs
> * The greeter needs to keep track of whether the user hit Cancel or not
> in LightDM 1.0 (oneiric)
>
>
> Modified: trunk/debathena/config/lightdm-config/debian/changelog
> ===================================================================
> --- trunk/debathena/config/lightdm-config/debian/changelog 2012-06-03 21:21:56 UTC (rev 25557)
> +++ trunk/debathena/config/lightdm-config/debian/changelog 2012-06-04 15:54:16 UTC (rev 25558)
> @@ -1,8 +1,12 @@
> debathena-lightdm-config (1.2) unstable; urgency=low
>
> * Support kiosk browsing
> + * Explicitly set the text and id columns of the ComboBox to work around
> + GtkBuilder bugs
> + * The greeter needs to keep track of whether the user hit Cancel or not
> + in LightDM 1.0 (oneiric)
>
> - -- Jonathan D Reed <jdreed@mit.edu> Sun, 03 Jun 2012 17:14:33 -0400
> + -- Jonathan Reed <jdreed@mit.edu> Mon, 04 Jun 2012 11:54:12 -0400
>
> debathena-lightdm-config (1.1) unstable; urgency=low
>
>
> Modified: trunk/debathena/config/lightdm-config/debian/debathena-lightdm-greeter
> ===================================================================
> --- trunk/debathena/config/lightdm-config/debian/debathena-lightdm-greeter 2012-06-03 21:21:56 UTC (rev 25557)
> +++ trunk/debathena/config/lightdm-config/debian/debathena-lightdm-greeter 2012-06-04 15:54:16 UTC (rev 25558)
> @@ -65,6 +65,19 @@
> "access_cb": self.showAccessDialog,
> "browse_cb": self.spawnBrowser,
> }
> +
> + # Sigh. Pre lightdm-1.1, cancel_authentication() calls the
> + # authentication-complete callback, so when we're in that
> + # callback, we need to know if we cancelled, or if we typed
> + # the password wrong. The lightdm daemon does in fact know
> + # the difference (return codes of 7 or 10), but gir has no way
> + # to get that info, AFAICT
> + # So beingCancelled is set to True when the user hits Cancel
> + # (or Esc) and set back to False in the authentication-complete
> + # callback or before we try and send anything else to the greeter
> + # This only controls UI, and has no effect on whether LightDM
> + # thinks the authentication process is being cancelled.
> + self.beingCancelled=False
>
> # Save the screen size for various window operations
> defaultScreen = Gdk.Screen.get_default()
> @@ -100,6 +113,12 @@
> # The session combo box
> self.cmbSession = self.builder.get_object("cmbSession")
> self.sessionBox = self.builder.get_object("sessionBox")
> + # Sigh. Needed for Oneiric. No-op on Precise
> + # See GNOME Bugzilla #650369 and 653579
> + # GtkBuilder calls g_object_new, not gtk_combo_box_text_new()
> + # so the properties don't get set.
> + self.cmbSession.set_entry_text_column(0);
> + self.cmbSession.set_id_column(1);
> for s in LightDM.get_sessions():
> self.cmbSession.append(s.get_key(), s.get_name())
> # Select the first session
> @@ -266,10 +285,13 @@
> if not greeter.start_session_sync(session_name):
> self._debug("Failed to start session")
> print >> sys.stderr, "Failed to start session"
> - else:
> + elif not self.beingCancelled:
> self._debug("Authentication failed.")
> self.displayMessage("Authentication failed, please try again")
> self.greeter.authenticate(None)
> + else:
> + self.beingCancelled=False
> + self.resetLoginWindow()
>
> # The show-prompt message is emitted when LightDM wants you to
> # show a prompt to the user, and respond with the user's response.
> @@ -348,6 +370,7 @@
> def cancelLogin(self, widget=None):
> self._debug("Cancelling authentication. User=",
> self.greeter.get_authentication_user())
> + self.beingCancelled=True
> self.greeter.cancel_authentication()
> self.resetLoginWindow()
>
> @@ -387,6 +410,9 @@
> # and you'd just be logged in. But we disable the user picker, so
> # that's not relevant.
> def cbLogin(self, widget):
> + # Because we just entered some text and are about to send it,
> + # we're no longer in the middle of a cancellation
> + self.beingCancelled=False
> self.clearMessage()
> self._debug("In cbLogin")
> if self.prompted:
>
>