Update to 2.91.91
This commit is contained in:
parent
e2a10420d3
commit
4b6f239462
1
.gitignore
vendored
1
.gitignore
vendored
@ -3,3 +3,4 @@ gdm-2.30.2.tar.bz2
|
||||
/gdm-2.32.0.tar.bz2
|
||||
/gdm-2.91.4.tar.bz2
|
||||
/gdm-2.91.6.tar.bz2
|
||||
/gdm-2.91.91.tar.bz2
|
||||
|
@ -1,26 +0,0 @@
|
||||
From 408d82df9e264e37d0dec7f049b2a64ea22032ab Mon Sep 17 00:00:00 2001
|
||||
From: Bastien Nocera <hadess@hadess.net>
|
||||
Date: Mon, 7 Feb 2011 16:24:27 +0000
|
||||
Subject: [PATCH] Make sure to disable g-s-d plugins in greeter
|
||||
|
||||
By grepping for the right plugins.
|
||||
---
|
||||
data/make-dconf-override-db.sh | 2 +-
|
||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/data/make-dconf-override-db.sh b/data/make-dconf-override-db.sh
|
||||
index 6fd7cbd..07de694 100755
|
||||
--- a/data/make-dconf-override-db.sh
|
||||
+++ b/data/make-dconf-override-db.sh
|
||||
@@ -38,7 +38,7 @@ gsettings set org.gnome.settings-daemon.plugins.media-keys search '""'
|
||||
gsettings set org.gnome.settings-daemon.plugins.media-keys stop '""'
|
||||
gsettings set org.gnome.settings-daemon.plugins.media-keys www '""'
|
||||
|
||||
-gsettings list-schemas | egrep '^org\.gnome\.gnome-settings-daemon\.plugins\.' | while read schema; do
|
||||
+gsettings list-schemas | egrep '^org\.gnome\.settings-daemon\.plugins\.' | while read schema; do
|
||||
gsettings set $schema active false
|
||||
done
|
||||
|
||||
--
|
||||
1.7.4
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,26 +0,0 @@
|
||||
From 3462ace9fee97f0db3af126a22cd8526b7125d94 Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Thu, 14 Jan 2010 09:18:48 -0500
|
||||
Subject: [PATCH] Add missing locale.alias file
|
||||
|
||||
---
|
||||
data/locale.alias | 7 +++++++
|
||||
1 files changed, 7 insertions(+), 0 deletions(-)
|
||||
create mode 100644 data/locale.alias
|
||||
|
||||
diff --git a/data/locale.alias b/data/locale.alias
|
||||
new file mode 100644
|
||||
index 0000000..7cabea6
|
||||
--- /dev/null
|
||||
+++ b/data/locale.alias
|
||||
@@ -0,0 +1,7 @@
|
||||
+# You could insert none UTF-8 locales likes C, ja_JP.eucJP
|
||||
+# The format is language label, space and locale name but
|
||||
+# the language label is no longer used.
|
||||
+#
|
||||
+# This file will be removed in the future once gdm setup tool is generated.
|
||||
+#
|
||||
+#Unspecified C,POSIX
|
||||
--
|
||||
1.6.6
|
||||
|
@ -1,289 +0,0 @@
|
||||
From 11139d9e693ecb1e5dcf6b538f0873a3e97730c8 Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Thu, 17 Feb 2011 11:09:10 -0500
|
||||
Subject: [PATCH] greeter: add session chooser to dialog
|
||||
|
||||
Since we don't have it in the panel anymore, put it in the dialog.
|
||||
---
|
||||
gui/simple-greeter/Makefile.am | 4 +
|
||||
gui/simple-greeter/gdm-greeter-login-window.c | 78 +++++++++++++++++++++++-
|
||||
gui/simple-greeter/gdm-greeter-login-window.h | 4 +
|
||||
gui/simple-greeter/gdm-greeter-login-window.ui | 4 +-
|
||||
gui/simple-greeter/gdm-greeter-session.c | 10 +++-
|
||||
gui/simple-greeter/gdm-session-option-widget.c | 1 -
|
||||
6 files changed, 95 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/gui/simple-greeter/Makefile.am b/gui/simple-greeter/Makefile.am
|
||||
index 74edd01..aa78504 100644
|
||||
--- a/gui/simple-greeter/Makefile.am
|
||||
+++ b/gui/simple-greeter/Makefile.am
|
||||
@@ -75,6 +75,10 @@ test_greeter_login_window_SOURCES = \
|
||||
gdm-sessions.c \
|
||||
gdm-cell-renderer-timer.h \
|
||||
gdm-cell-renderer-timer.c \
|
||||
+ gdm-option-widget.h \
|
||||
+ gdm-option-widget.c \
|
||||
+ gdm-session-option-widget.h \
|
||||
+ gdm-session-option-widget.c \
|
||||
gdm-user-chooser-widget.h \
|
||||
gdm-user-chooser-widget.c \
|
||||
gdm-user-chooser-dialog.h \
|
||||
diff --git a/gui/simple-greeter/gdm-greeter-login-window.c b/gui/simple-greeter/gdm-greeter-login-window.c
|
||||
index 6dc201a..c220dc4 100644
|
||||
--- a/gui/simple-greeter/gdm-greeter-login-window.c
|
||||
+++ b/gui/simple-greeter/gdm-greeter-login-window.c
|
||||
@@ -56,6 +56,7 @@
|
||||
|
||||
#include "gdm-greeter-login-window.h"
|
||||
#include "gdm-user-chooser-widget.h"
|
||||
+#include "gdm-session-option-widget.h"
|
||||
|
||||
#ifdef HAVE_PAM
|
||||
#include <security/pam_appl.h>
|
||||
@@ -85,6 +86,7 @@
|
||||
#define LSB_RELEASE_COMMAND "lsb_release -d"
|
||||
|
||||
#define GDM_GREETER_LOGIN_WINDOW_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GDM_TYPE_GREETER_LOGIN_WINDOW, GdmGreeterLoginWindowPrivate))
|
||||
+#define GDM_CUSTOM_SESSION "custom"
|
||||
|
||||
enum {
|
||||
MODE_UNDEFINED = 0,
|
||||
@@ -102,6 +104,7 @@ enum {
|
||||
struct GdmGreeterLoginWindowPrivate
|
||||
{
|
||||
GtkBuilder *builder;
|
||||
+ GtkWidget *session_option_widget;
|
||||
GtkWidget *user_chooser;
|
||||
GtkWidget *auth_banner_label;
|
||||
GtkWidget *current_button;
|
||||
@@ -143,6 +146,7 @@ enum {
|
||||
QUERY_ANSWER,
|
||||
START_SESSION,
|
||||
USER_SELECTED,
|
||||
+ SESSION_SELECTED,
|
||||
CANCELLED,
|
||||
LAST_SIGNAL
|
||||
};
|
||||
@@ -505,12 +509,15 @@ switch_mode (GdmGreeterLoginWindow *login_window,
|
||||
switch (number) {
|
||||
case MODE_SELECTION:
|
||||
set_log_in_button_mode (login_window, LOGIN_BUTTON_HIDDEN);
|
||||
+ gtk_widget_hide (login_window->priv->session_option_widget);
|
||||
break;
|
||||
case MODE_TIMED_LOGIN:
|
||||
set_log_in_button_mode (login_window, LOGIN_BUTTON_TIMED_LOGIN);
|
||||
+ gtk_widget_show (login_window->priv->session_option_widget);
|
||||
break;
|
||||
case MODE_AUTHENTICATION:
|
||||
set_log_in_button_mode (login_window, LOGIN_BUTTON_ANSWER_QUERY);
|
||||
+ gtk_widget_show (login_window->priv->session_option_widget);
|
||||
break;
|
||||
default:
|
||||
g_assert_not_reached ();
|
||||
@@ -878,6 +885,7 @@ gdm_greeter_login_window_info_query (GdmGreeterLoginWindow *login_window,
|
||||
gtk_label_set_text (GTK_LABEL (label), text);
|
||||
|
||||
show_widget (login_window, "auth-input-box", TRUE);
|
||||
+
|
||||
set_sensitive (GDM_GREETER_LOGIN_WINDOW (login_window), TRUE);
|
||||
set_ready (GDM_GREETER_LOGIN_WINDOW (login_window));
|
||||
set_focus (GDM_GREETER_LOGIN_WINDOW (login_window));
|
||||
@@ -908,6 +916,7 @@ gdm_greeter_login_window_secret_info_query (GdmGreeterLoginWindow *login_window,
|
||||
gtk_label_set_text (GTK_LABEL (label), text);
|
||||
|
||||
show_widget (login_window, "auth-input-box", TRUE);
|
||||
+ gtk_widget_show (login_window->priv->session_option_widget);
|
||||
set_sensitive (GDM_GREETER_LOGIN_WINDOW (login_window), TRUE);
|
||||
set_ready (GDM_GREETER_LOGIN_WINDOW (login_window));
|
||||
set_focus (GDM_GREETER_LOGIN_WINDOW (login_window));
|
||||
@@ -1049,6 +1058,46 @@ on_user_unchosen (GdmUserChooserWidget *user_chooser,
|
||||
}
|
||||
|
||||
static void
|
||||
+on_session_activated (GdmSessionOptionWidget *session_option_widget,
|
||||
+ GdmGreeterLoginWindow *login_window)
|
||||
+{
|
||||
+ char *session;
|
||||
+
|
||||
+ session = gdm_session_option_widget_get_current_session (GDM_SESSION_OPTION_WIDGET (login_window->priv->session_option_widget));
|
||||
+ if (session == NULL) {
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ g_signal_emit (login_window, signals[SESSION_SELECTED], 0, session);
|
||||
+
|
||||
+ g_free (session);
|
||||
+}
|
||||
+
|
||||
+void
|
||||
+gdm_greeter_login_window_set_default_session_name (GdmGreeterLoginWindow *login_window,
|
||||
+ const char *session_name)
|
||||
+{
|
||||
+ g_return_if_fail (GDM_IS_GREETER_LOGIN_WINDOW (login_window));
|
||||
+
|
||||
+ if (session_name != NULL && !gdm_option_widget_lookup_item (GDM_OPTION_WIDGET (login_window->priv->session_option_widget),
|
||||
+ session_name, NULL, NULL, NULL)) {
|
||||
+ if (strcmp (session_name, GDM_CUSTOM_SESSION) == 0) {
|
||||
+ gdm_option_widget_add_item (GDM_OPTION_WIDGET (login_window->priv->session_option_widget),
|
||||
+ GDM_CUSTOM_SESSION,
|
||||
+ C_("customsession", "Custom"),
|
||||
+ _("Custom session"),
|
||||
+ GDM_OPTION_WIDGET_POSITION_TOP);
|
||||
+ } else {
|
||||
+ g_warning ("Default session is not available");
|
||||
+ return;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ gdm_option_widget_set_default_item (GDM_OPTION_WIDGET (login_window->priv->session_option_widget),
|
||||
+ session_name);
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
rotate_computer_info (GdmGreeterLoginWindow *login_window)
|
||||
{
|
||||
GtkWidget *notebook;
|
||||
@@ -1264,7 +1313,7 @@ load_theme (GdmGreeterLoginWindow *login_window)
|
||||
box = GTK_WIDGET (gtk_builder_get_object (login_window->priv->builder, "window-frame"));
|
||||
gtk_container_add (GTK_CONTAINER (login_window), box);
|
||||
|
||||
- /* FIXME: user chooser should implement GtkBuildable and this should get dropped
|
||||
+ /* FIXME: user and session chooser should get loaded from ui file instead
|
||||
*/
|
||||
login_window->priv->user_chooser = gdm_user_chooser_widget_new ();
|
||||
box = GTK_WIDGET (gtk_builder_get_object (login_window->priv->builder, "selection-box"));
|
||||
@@ -1273,6 +1322,7 @@ load_theme (GdmGreeterLoginWindow *login_window)
|
||||
|
||||
gdm_user_chooser_widget_set_show_only_chosen (GDM_USER_CHOOSER_WIDGET (login_window->priv->user_chooser), TRUE);
|
||||
|
||||
+
|
||||
g_signal_connect (login_window->priv->user_chooser,
|
||||
"loaded",
|
||||
G_CALLBACK (on_users_loaded),
|
||||
@@ -1291,6 +1341,22 @@ load_theme (GdmGreeterLoginWindow *login_window)
|
||||
G_CALLBACK (on_user_chooser_visibility_changed),
|
||||
login_window);
|
||||
|
||||
+ login_window->priv->session_option_widget = gdm_session_option_widget_new ();
|
||||
+ box = GTK_WIDGET (gtk_builder_get_object (login_window->priv->builder, "buttonbox"));
|
||||
+ g_object_set (G_OBJECT (login_window->priv->session_option_widget),
|
||||
+ "xscale", 0.0,
|
||||
+ "yscale", 0.0,
|
||||
+ "xalign", 0.0,
|
||||
+ "yalign", 1.0,
|
||||
+ NULL);
|
||||
+ gtk_container_add (GTK_CONTAINER (box), login_window->priv->session_option_widget);
|
||||
+ gtk_button_box_set_child_secondary (GTK_BUTTON_BOX (box), login_window->priv->session_option_widget, TRUE);
|
||||
+
|
||||
+ g_signal_connect (login_window->priv->session_option_widget,
|
||||
+ "activated",
|
||||
+ G_CALLBACK (on_session_activated),
|
||||
+ login_window);
|
||||
+
|
||||
login_window->priv->auth_banner_label = GTK_WIDGET (gtk_builder_get_object (login_window->priv->builder, "auth-banner-label"));
|
||||
/*make_label_small_italic (login_window->priv->auth_banner_label);*/
|
||||
|
||||
@@ -1560,6 +1626,16 @@ gdm_greeter_login_window_class_init (GdmGreeterLoginWindowClass *klass)
|
||||
g_cclosure_marshal_VOID__STRING,
|
||||
G_TYPE_NONE,
|
||||
1, G_TYPE_STRING);
|
||||
+ signals [SESSION_SELECTED] =
|
||||
+ g_signal_new ("session-selected",
|
||||
+ G_TYPE_FROM_CLASS (object_class),
|
||||
+ G_SIGNAL_RUN_LAST,
|
||||
+ G_STRUCT_OFFSET (GdmGreeterLoginWindowClass, session_selected),
|
||||
+ NULL,
|
||||
+ NULL,
|
||||
+ g_cclosure_marshal_VOID__STRING,
|
||||
+ G_TYPE_NONE,
|
||||
+ 1, G_TYPE_STRING);
|
||||
signals [CANCELLED] =
|
||||
g_signal_new ("cancelled",
|
||||
G_TYPE_FROM_CLASS (object_class),
|
||||
diff --git a/gui/simple-greeter/gdm-greeter-login-window.h b/gui/simple-greeter/gdm-greeter-login-window.h
|
||||
index a5e68ae..c8b1167 100644
|
||||
--- a/gui/simple-greeter/gdm-greeter-login-window.h
|
||||
+++ b/gui/simple-greeter/gdm-greeter-login-window.h
|
||||
@@ -55,6 +55,8 @@ typedef struct
|
||||
const char *text);
|
||||
void (* user_selected) (GdmGreeterLoginWindow *login_window,
|
||||
const char *text);
|
||||
+ void (* session_selected) (GdmGreeterLoginWindow *login_window,
|
||||
+ const char *text);
|
||||
void (* cancelled) (GdmGreeterLoginWindow *login_window);
|
||||
void (* start_session) (GdmGreeterLoginWindow *login_window);
|
||||
|
||||
@@ -75,6 +77,8 @@ gboolean gdm_greeter_login_window_info (GdmGreeterLogin
|
||||
const char *text);
|
||||
gboolean gdm_greeter_login_window_problem (GdmGreeterLoginWindow *login_window,
|
||||
const char *text);
|
||||
+void gdm_greeter_login_window_set_default_session_name (GdmGreeterLoginWindow *login_window,
|
||||
+ const char *text);
|
||||
|
||||
void gdm_greeter_login_window_request_timed_login (GdmGreeterLoginWindow *login_window,
|
||||
const char *username,
|
||||
diff --git a/gui/simple-greeter/gdm-greeter-login-window.ui b/gui/simple-greeter/gdm-greeter-login-window.ui
|
||||
index 9f1bc69..8409166 100644
|
||||
--- a/gui/simple-greeter/gdm-greeter-login-window.ui
|
||||
+++ b/gui/simple-greeter/gdm-greeter-login-window.ui
|
||||
@@ -277,8 +277,8 @@
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
- <property name="expand">False</property>
|
||||
- <property name="fill">False</property>
|
||||
+ <property name="expand">True</property>
|
||||
+ <property name="fill">True</property>
|
||||
<property name="pack_type">end</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
diff --git a/gui/simple-greeter/gdm-greeter-session.c b/gui/simple-greeter/gdm-greeter-session.c
|
||||
index 14f518e..7be5acd 100644
|
||||
--- a/gui/simple-greeter/gdm-greeter-session.c
|
||||
+++ b/gui/simple-greeter/gdm-greeter-session.c
|
||||
@@ -163,6 +163,7 @@ on_default_session_name_changed (GdmGreeterClient *client,
|
||||
GdmGreeterSession *session)
|
||||
{
|
||||
g_debug ("GdmGreeterSession: default session name changed: %s", text);
|
||||
+ gdm_greeter_login_window_set_default_session_name (GDM_GREETER_LOGIN_WINDOW (session->priv->login_window), text);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -238,8 +239,9 @@ on_query_answer (GdmGreeterLoginWindow *login_window,
|
||||
}
|
||||
|
||||
static void
|
||||
-on_select_session (GdmGreeterSession *session,
|
||||
- const char *text)
|
||||
+on_select_session (GdmGreeterLoginWindow *login_window,
|
||||
+ const char *text,
|
||||
+ GdmGreeterSession *session)
|
||||
{
|
||||
gdm_greeter_client_call_select_session (session->priv->client,
|
||||
text);
|
||||
@@ -387,6 +389,10 @@ toggle_login_window (GdmGreeterSession *session,
|
||||
G_CALLBACK (on_select_user),
|
||||
session);
|
||||
g_signal_connect (session->priv->login_window,
|
||||
+ "session-selected",
|
||||
+ G_CALLBACK (on_select_session),
|
||||
+ session);
|
||||
+ g_signal_connect (session->priv->login_window,
|
||||
"cancelled",
|
||||
G_CALLBACK (on_cancelled),
|
||||
session);
|
||||
diff --git a/gui/simple-greeter/gdm-session-option-widget.c b/gui/simple-greeter/gdm-session-option-widget.c
|
||||
index fb10098..d504d7c 100644
|
||||
--- a/gui/simple-greeter/gdm-session-option-widget.c
|
||||
+++ b/gui/simple-greeter/gdm-session-option-widget.c
|
||||
@@ -160,7 +160,6 @@ gdm_session_option_widget_new (void)
|
||||
|
||||
object = g_object_new (GDM_TYPE_SESSION_OPTION_WIDGET,
|
||||
"label-text", _("Session"),
|
||||
- "icon-name", "session-properties",
|
||||
NULL);
|
||||
|
||||
return GTK_WIDGET (object);
|
||||
--
|
||||
1.7.4.1
|
||||
|
@ -1,191 +0,0 @@
|
||||
From 6450a2100767b9d37ebe504e87d9fd5aec5111ff Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Mon, 14 Feb 2011 11:45:13 -0500
|
||||
Subject: [PATCH 1/2] greeter: drop child_adjustments_stale thing
|
||||
|
||||
When the greeter went to gtk3, the bit of code that toggled this
|
||||
boolean got dropped, so it was never TRUE. That means all the places
|
||||
that check the boolean are dead code that can be pruned.
|
||||
---
|
||||
gui/simple-greeter/gdm-scrollable-widget.c | 7 -------
|
||||
1 files changed, 0 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/gui/simple-greeter/gdm-scrollable-widget.c b/gui/simple-greeter/gdm-scrollable-widget.c
|
||||
index 1f8e807..dc464af 100644
|
||||
--- a/gui/simple-greeter/gdm-scrollable-widget.c
|
||||
+++ b/gui/simple-greeter/gdm-scrollable-widget.c
|
||||
@@ -61,8 +61,6 @@ struct GdmScrollableWidgetPrivate
|
||||
int forced_height;
|
||||
|
||||
GQueue *key_event_queue;
|
||||
-
|
||||
- guint child_adjustments_stale : 1;
|
||||
};
|
||||
|
||||
struct GdmScrollableWidgetAnimation
|
||||
@@ -260,10 +258,6 @@ gdm_scrollable_widget_needs_scrollbar (GdmScrollableWidget *widget)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
- if (widget->priv->child_adjustments_stale) {
|
||||
- return FALSE;
|
||||
- }
|
||||
-
|
||||
child = gtk_bin_get_child (GTK_BIN (widget));
|
||||
if (child != NULL) {
|
||||
int available_height;
|
||||
@@ -463,7 +457,6 @@ gdm_scrollable_widget_size_allocate (GtkWidget *widget,
|
||||
|
||||
gtk_widget_size_allocate (child,
|
||||
&child_allocation);
|
||||
- scrollable_widget->priv->child_adjustments_stale = FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
--
|
||||
1.7.4
|
||||
|
||||
|
||||
From b37803d0436a5ff651415cb4fbb20813b91f4940 Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Mon, 14 Feb 2011 11:51:20 -0500
|
||||
Subject: [PATCH 2/2] greeter: more gtk3 fixes
|
||||
|
||||
This commit drops use of the deprecated xthickness
|
||||
and ythickness properties throughout, and fixes
|
||||
padding and border calculations in various places,
|
||||
---
|
||||
gui/simple-greeter/gdm-scrollable-widget.c | 66 +++++++++++++++++++++-------
|
||||
1 files changed, 50 insertions(+), 16 deletions(-)
|
||||
|
||||
diff --git a/gui/simple-greeter/gdm-scrollable-widget.c b/gui/simple-greeter/gdm-scrollable-widget.c
|
||||
index dc464af..da813f1 100644
|
||||
--- a/gui/simple-greeter/gdm-scrollable-widget.c
|
||||
+++ b/gui/simple-greeter/gdm-scrollable-widget.c
|
||||
@@ -135,10 +135,20 @@ on_animation_tick (GdmScrollableWidgetAnimation *animation,
|
||||
|
||||
if (animation->step_func != NULL) {
|
||||
GdmTimer *timer;
|
||||
+ GtkStyleContext *context;
|
||||
+ GtkStateFlags state;
|
||||
+ GtkBorder padding, border;
|
||||
|
||||
height = animation->desired_height;
|
||||
|
||||
- height -= gtk_widget_get_style (animation->widget)->ythickness * 2;
|
||||
+ context = gtk_widget_get_style_context (animation->widget);
|
||||
+ state = gtk_widget_get_state_flags (animation->widget);
|
||||
+
|
||||
+ gtk_style_context_get_padding (context, state, &padding);
|
||||
+ gtk_style_context_get_border (context, state, &border);
|
||||
+
|
||||
+ height -= padding.top + padding.bottom;
|
||||
+ height -= border.top + border.bottom;
|
||||
|
||||
timer = g_object_ref (animation->timer);
|
||||
animation->step_func (GDM_SCROLLABLE_WIDGET (animation->widget),
|
||||
@@ -147,7 +157,8 @@ on_animation_tick (GdmScrollableWidgetAnimation *animation,
|
||||
animation->step_func_user_data);
|
||||
|
||||
if (gdm_timer_is_started (timer)) {
|
||||
- height += gtk_widget_get_style (animation->widget)->ythickness * 2;
|
||||
+ height += padding.top + padding.bottom;
|
||||
+ height += border.top + border.bottom;
|
||||
|
||||
animation->desired_height = height;
|
||||
}
|
||||
@@ -259,11 +270,23 @@ gdm_scrollable_widget_needs_scrollbar (GdmScrollableWidget *widget)
|
||||
}
|
||||
|
||||
child = gtk_bin_get_child (GTK_BIN (widget));
|
||||
- if (child != NULL) {
|
||||
+ if (child != NULL && GTK_IS_SCROLLABLE (child)) {
|
||||
+ GtkStyleContext *context;
|
||||
+ GtkStateFlags state;
|
||||
+ GtkBorder padding, border;
|
||||
int available_height;
|
||||
int child_scrolled_height;
|
||||
|
||||
+ context = gtk_widget_get_style_context (GTK_WIDGET (widget));
|
||||
+ state = gtk_widget_get_state_flags (GTK_WIDGET (widget));
|
||||
+
|
||||
+ gtk_style_context_get_padding (context, state, &padding);
|
||||
+ gtk_style_context_get_border (context, state, &border);
|
||||
+
|
||||
available_height = gtk_widget_get_allocated_height (GTK_WIDGET (widget));
|
||||
+ available_height -= padding.top + padding.bottom;
|
||||
+ available_height -= border.top + border.bottom;
|
||||
+
|
||||
gtk_widget_get_preferred_height (child, NULL, &child_scrolled_height);
|
||||
needs_scrollbar = child_scrolled_height > available_height;
|
||||
} else {
|
||||
@@ -295,10 +318,21 @@ gdm_scrollable_widget_get_preferred_size (GtkWidget *widget,
|
||||
gtk_style_context_get_border (context, state, &border);
|
||||
|
||||
scrollable_widget = GDM_SCROLLABLE_WIDGET (widget);
|
||||
+
|
||||
+ minimum_req.width = padding.left + padding.right;
|
||||
+ minimum_req.width += border.left + border.right;
|
||||
+ minimum_req.height = padding.top + padding.bottom;
|
||||
+ minimum_req.height += border.top + border.bottom;
|
||||
+
|
||||
+ natural_req.width = padding.left + padding.right;
|
||||
+ natural_req.width += border.left + border.right;
|
||||
+ natural_req.height = padding.top + padding.bottom;
|
||||
+ natural_req.height += border.top + border.bottom;
|
||||
+
|
||||
if (orientation == GTK_ORIENTATION_VERTICAL
|
||||
&& scrollable_widget->priv->forced_height >= 0) {
|
||||
- minimum_req.height = scrollable_widget->priv->forced_height;
|
||||
- natural_req.height = scrollable_widget->priv->forced_height;
|
||||
+ minimum_req.height += scrollable_widget->priv->forced_height;
|
||||
+ natural_req.height += scrollable_widget->priv->forced_height;
|
||||
} else {
|
||||
child = gtk_bin_get_child (GTK_BIN (widget));
|
||||
|
||||
@@ -306,16 +340,6 @@ gdm_scrollable_widget_get_preferred_size (GtkWidget *widget,
|
||||
&scrollbar_requisition,
|
||||
NULL);
|
||||
|
||||
- minimum_req.width = padding.left + padding.right;
|
||||
- minimum_req.width = border.left + border.right;
|
||||
- minimum_req.height = padding.top + padding.bottom;
|
||||
- minimum_req.height = border.top + border.bottom;
|
||||
-
|
||||
- natural_req.width = padding.left + padding.right;
|
||||
- natural_req.width = border.left + border.right;
|
||||
- natural_req.height = padding.top + padding.bottom;
|
||||
- natural_req.height = border.top + border.bottom;
|
||||
-
|
||||
if (child && gtk_widget_get_visible (child)) {
|
||||
if (orientation == GTK_ORIENTATION_HORIZONTAL) {
|
||||
gtk_widget_get_preferred_width (child,
|
||||
@@ -815,6 +839,9 @@ gdm_scrollable_widget_slide_to_height (GdmScrollableWidget *scrollable_widget,
|
||||
GtkWidget *widget;
|
||||
gboolean input_redirected;
|
||||
GtkAllocation widget_allocation;
|
||||
+ GtkStyleContext *context;
|
||||
+ GtkStateFlags state;
|
||||
+ GtkBorder padding, border;
|
||||
|
||||
g_return_if_fail (GDM_IS_SCROLLABLE_WIDGET (scrollable_widget));
|
||||
widget = GTK_WIDGET (scrollable_widget);
|
||||
@@ -841,7 +868,14 @@ gdm_scrollable_widget_slide_to_height (GdmScrollableWidget *scrollable_widget,
|
||||
return;
|
||||
}
|
||||
|
||||
- height += gtk_widget_get_style (widget)->ythickness * 2;
|
||||
+ context = gtk_widget_get_style_context (widget);
|
||||
+ state = gtk_widget_get_state_flags (widget);
|
||||
+
|
||||
+ gtk_style_context_get_padding (context, state, &padding);
|
||||
+ gtk_style_context_get_border (context, state, &border);
|
||||
+
|
||||
+ height += padding.top + padding.bottom;
|
||||
+ height += border.top + border.bottom;
|
||||
|
||||
gtk_widget_get_allocation (widget, &widget_allocation);
|
||||
|
||||
--
|
||||
1.7.4
|
||||
|
@ -1,35 +0,0 @@
|
||||
From 4f63038e588f334ec062a38c620fcf8f8c0fa222 Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Tue, 22 Feb 2011 17:42:35 -0500
|
||||
Subject: [PATCH] user-chooser-widget: zero idle id when done with it
|
||||
|
||||
Because we weren't zeroing it, it could never get queued
|
||||
after it finished its first run.
|
||||
|
||||
This fixes a bug that prevents the users from showing up
|
||||
in the user list.
|
||||
---
|
||||
gui/simple-greeter/gdm-user-chooser-widget.c | 7 ++++++-
|
||||
1 files changed, 6 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/gui/simple-greeter/gdm-user-chooser-widget.c b/gui/simple-greeter/gdm-user-chooser-widget.c
|
||||
index 7b0445c..be756a6 100644
|
||||
--- a/gui/simple-greeter/gdm-user-chooser-widget.c
|
||||
+++ b/gui/simple-greeter/gdm-user-chooser-widget.c
|
||||
@@ -873,7 +873,12 @@ add_users (GdmUserChooserWidget *widget)
|
||||
gdm_chooser_widget_loaded (GDM_CHOOSER_WIDGET (widget));
|
||||
}
|
||||
|
||||
- return (widget->priv->users_to_add != NULL);
|
||||
+ if (widget->priv->users_to_add == NULL) {
|
||||
+ widget->priv->add_users_idle_id = 0;
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+
|
||||
+ return TRUE;
|
||||
}
|
||||
|
||||
static void
|
||||
--
|
||||
1.7.4.1
|
||||
|
@ -1,31 +0,0 @@
|
||||
From 6bb88258c9ce7c9b2a0477c697d64e2a36f42dfd Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Fri, 4 Feb 2011 15:06:11 -0500
|
||||
Subject: [PATCH] greeter: don't call render_frame if there's no frame
|
||||
|
||||
If the theme lacks a frame gtk_render_frame will throw
|
||||
a fit and make the greeter nose dive.
|
||||
---
|
||||
gui/simple-greeter/gdm-scrollable-widget.c | 6 ++++--
|
||||
1 files changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/gui/simple-greeter/gdm-scrollable-widget.c b/gui/simple-greeter/gdm-scrollable-widget.c
|
||||
index 8a9ea25..1f8e807 100644
|
||||
--- a/gui/simple-greeter/gdm-scrollable-widget.c
|
||||
+++ b/gui/simple-greeter/gdm-scrollable-widget.c
|
||||
@@ -598,8 +598,10 @@ gdm_scrollable_widget_draw (GtkWidget *widget,
|
||||
height = widget_allocation.height;
|
||||
height -= padding.top + padding.bottom;
|
||||
|
||||
- gtk_render_frame (context, cr,
|
||||
- x, y, width, height);
|
||||
+ if (width > 0 && height > 0) {
|
||||
+ gtk_render_frame (context, cr,
|
||||
+ x, y, width, height);
|
||||
+ }
|
||||
|
||||
return GTK_WIDGET_CLASS (gdm_scrollable_widget_parent_class)->draw (widget, cr);
|
||||
}
|
||||
--
|
||||
1.7.4
|
||||
|
@ -1,119 +0,0 @@
|
||||
diff -up gdm-2.23.92/daemon/gdm-simple-slave.c.save-root-window gdm-2.23.92/daemon/gdm-simple-slave.c
|
||||
--- gdm-2.23.92/daemon/gdm-simple-slave.c.save-root-window 2008-09-03 16:52:53.000000000 -0400
|
||||
+++ gdm-2.23.92/daemon/gdm-simple-slave.c 2008-09-19 18:18:50.000000000 -0400
|
||||
@@ -825,6 +825,15 @@ setup_server (GdmSimpleSlave *slave)
|
||||
{
|
||||
/* Set the busy cursor */
|
||||
gdm_slave_set_busy_cursor (GDM_SLAVE (slave));
|
||||
+
|
||||
+ /* The root window has a background that may be useful
|
||||
+ * to cross fade or transition from when setting the
|
||||
+ * login screen background. We read it here, and stuff
|
||||
+ * it into the standard _XROOTPMAP_ID root window property,
|
||||
+ * so gnome-settings-daemon can get at it.
|
||||
+ */
|
||||
+ gdm_slave_save_root_windows (GDM_SLAVE (slave));
|
||||
+
|
||||
}
|
||||
|
||||
static void
|
||||
diff -up gdm-2.23.92/daemon/gdm-slave.c.save-root-window gdm-2.23.92/daemon/gdm-slave.c
|
||||
--- gdm-2.23.92/daemon/gdm-slave.c.save-root-window 2008-08-26 15:04:00.000000000 -0400
|
||||
+++ gdm-2.23.92/daemon/gdm-slave.c 2008-09-22 11:06:36.000000000 -0400
|
||||
@@ -42,6 +42,7 @@
|
||||
#include <dbus/dbus-glib-lowlevel.h>
|
||||
|
||||
#include <X11/Xlib.h> /* for Display */
|
||||
+#include <X11/Xatom.h> /* for XA_PIXMAP */
|
||||
#include <X11/cursorfont.h> /* for watch cursor */
|
||||
|
||||
#include "gdm-common.h"
|
||||
@@ -341,6 +342,77 @@ gdm_slave_run_script (GdmSlave *slave,
|
||||
return ret;
|
||||
}
|
||||
|
||||
+static void
|
||||
+gdm_slave_save_root_window_of_screen (GdmSlave *slave,
|
||||
+ Atom id_atom,
|
||||
+ int screen_number)
|
||||
+{
|
||||
+ Window root_window;
|
||||
+ GC gc;
|
||||
+ XGCValues values;
|
||||
+ Pixmap pixmap;
|
||||
+ int width, height, depth;
|
||||
+
|
||||
+ root_window = RootWindow (slave->priv->server_display,
|
||||
+ screen_number);
|
||||
+
|
||||
+ width = DisplayWidth (slave->priv->server_display, screen_number);
|
||||
+ height = DisplayHeight (slave->priv->server_display, screen_number);
|
||||
+ depth = DefaultDepth (slave->priv->server_display, screen_number);
|
||||
+ pixmap = XCreatePixmap (slave->priv->server_display,
|
||||
+ root_window,
|
||||
+ width, height, depth);
|
||||
+
|
||||
+ values.function = GXcopy;
|
||||
+ values.plane_mask = AllPlanes;
|
||||
+ values.fill_style = FillSolid;
|
||||
+ values.subwindow_mode = IncludeInferiors;
|
||||
+
|
||||
+ gc = XCreateGC (slave->priv->server_display,
|
||||
+ root_window,
|
||||
+ GCFunction | GCPlaneMask | GCFillStyle | GCSubwindowMode,
|
||||
+ &values);
|
||||
+
|
||||
+ if (XCopyArea (slave->priv->server_display,
|
||||
+ root_window, pixmap, gc, 0, 0,
|
||||
+ width, height, 0, 0)) {
|
||||
+
|
||||
+ long pixmap_as_long;
|
||||
+
|
||||
+ pixmap_as_long = (long) pixmap;
|
||||
+
|
||||
+ XChangeProperty (slave->priv->server_display,
|
||||
+ root_window, id_atom, XA_PIXMAP,
|
||||
+ 32, PropModeReplace, (guchar *) &pixmap_as_long,
|
||||
+ 1);
|
||||
+
|
||||
+ }
|
||||
+
|
||||
+ XFreeGC (slave->priv->server_display, gc);
|
||||
+}
|
||||
+
|
||||
+void
|
||||
+gdm_slave_save_root_windows (GdmSlave *slave)
|
||||
+{
|
||||
+ int i, number_of_screens;
|
||||
+ Atom atom;
|
||||
+
|
||||
+ number_of_screens = ScreenCount (slave->priv->server_display);
|
||||
+
|
||||
+ atom = XInternAtom (slave->priv->server_display,
|
||||
+ "_XROOTPMAP_ID", False);
|
||||
+
|
||||
+ if (atom == 0) {
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ for (i = 0; i < number_of_screens; i++) {
|
||||
+ gdm_slave_save_root_window_of_screen (slave, atom, i);
|
||||
+ }
|
||||
+
|
||||
+ XSync (slave->priv->server_display, False);
|
||||
+}
|
||||
+
|
||||
void
|
||||
gdm_slave_set_busy_cursor (GdmSlave *slave)
|
||||
{
|
||||
diff -up gdm-2.23.92/daemon/gdm-slave.h.save-root-window gdm-2.23.92/daemon/gdm-slave.h
|
||||
--- gdm-2.23.92/daemon/gdm-slave.h.save-root-window 2008-08-26 15:04:00.000000000 -0400
|
||||
+++ gdm-2.23.92/daemon/gdm-slave.h 2008-09-19 18:18:50.000000000 -0400
|
||||
@@ -69,6 +69,7 @@ gboolean gdm_slave_switch_to_
|
||||
|
||||
gboolean gdm_slave_connect_to_x11_display (GdmSlave *slave);
|
||||
void gdm_slave_set_busy_cursor (GdmSlave *slave);
|
||||
+void gdm_slave_save_root_windows (GdmSlave *slave);
|
||||
gboolean gdm_slave_run_script (GdmSlave *slave,
|
||||
const char *dir,
|
||||
const char *username);
|
@ -1,13 +0,0 @@
|
||||
diff -up gdm-2.29.6/configure.ac.libs gdm-2.29.6/configure.ac
|
||||
--- gdm-2.29.6/configure.ac.libs 2010-02-11 19:25:51.485272530 -0500
|
||||
+++ gdm-2.29.6/configure.ac 2010-02-11 19:27:05.805022498 -0500
|
||||
@@ -145,6 +145,9 @@ PKG_CHECK_MODULES(SIMPLE_GREETER,
|
||||
fontconfig >= $FONTCONFIG_REQUIRED_VERSION
|
||||
x11
|
||||
)
|
||||
+
|
||||
+SIMPLE_GREETER_LIBS="$SIMPLE_GREETER_LIBS -lm"
|
||||
+
|
||||
AC_SUBST(SIMPLE_GREETER_CFLAGS)
|
||||
AC_SUBST(SIMPLE_GREETER_LIBS)
|
||||
|
@ -1,4 +1,4 @@
|
||||
From d8945b88ee774a96db43ef743db49d1a91f44d33 Mon Sep 17 00:00:00 2001
|
||||
From 36b2793ae523ca4195d2a0afdc133f21b8d29f44 Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Thu, 22 Jul 2010 13:38:09 -0400
|
||||
Subject: [PATCH 01/35] Revert "Don't wait a mandatory 2 seconds when resetting greeter"
|
||||
@ -28,7 +28,7 @@ index e6b3c98..9ea5bc9 100644
|
||||
1.7.4.1
|
||||
|
||||
|
||||
From 9f8735086e8b32b64460797183595d058203ebf1 Mon Sep 17 00:00:00 2001
|
||||
From aba8bd3130970aac450d5adf7913c2ae359e2fe3 Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Wed, 7 Jul 2010 17:16:38 -0400
|
||||
Subject: [PATCH 02/35] Don't set list-visible unless the widget is visible
|
||||
@ -62,7 +62,7 @@ index ebbfdb9..e81bd77 100644
|
||||
1.7.4.1
|
||||
|
||||
|
||||
From 95513b3697900f71e769b5a1948be557ecd64757 Mon Sep 17 00:00:00 2001
|
||||
From 0635e6be3672381ed6ea905e76c19a60e6266640 Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Mon, 28 Jun 2010 14:35:35 -0400
|
||||
Subject: [PATCH 03/35] Add user chooser to ui file
|
||||
@ -157,7 +157,7 @@ index 8409166..7ce166b 100644
|
||||
1.7.4.1
|
||||
|
||||
|
||||
From b18cc72457e6abde22a8423a80cde831efd677c5 Mon Sep 17 00:00:00 2001
|
||||
From a3329ba6104839630943cc8ea65f1b2b2940f3e5 Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Fri, 20 Feb 2009 14:05:20 -0500
|
||||
Subject: [PATCH 04/35] Add new api to ask when chooser widget is done loading items
|
||||
@ -213,7 +213,7 @@ index 11a6456..3f6fea3 100644
|
||||
1.7.4.1
|
||||
|
||||
|
||||
From f54cca866610069e51ef4bcdb7c0fe1f9ba76964 Mon Sep 17 00:00:00 2001
|
||||
From 9df125300e779247912864871e7c3c7054db7a5a Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Fri, 6 Mar 2009 11:19:40 -0500
|
||||
Subject: [PATCH 05/35] Create session settings object up front
|
||||
@ -249,7 +249,7 @@ index 3dd714f..9adb0de 100644
|
||||
1.7.4.1
|
||||
|
||||
|
||||
From 0ab65e8c6ca52f4785f2466cce7f7507d88fc9c3 Mon Sep 17 00:00:00 2001
|
||||
From a94d8297fba9cdb4d7a37dc57bc221a01aaff9d2 Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Tue, 13 Jul 2010 22:42:43 -0400
|
||||
Subject: [PATCH 06/35] disconnect signal handlers in destroy session
|
||||
@ -388,7 +388,7 @@ index 9ea5bc9..d37cc79 100644
|
||||
1.7.4.1
|
||||
|
||||
|
||||
From acdd83e5a3fd6e135eed33706824123d53ba3357 Mon Sep 17 00:00:00 2001
|
||||
From 28741da90c7c3913f29b9c4d47dbb6764ca5d2bf Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Fri, 16 Jan 2009 11:00:08 -0500
|
||||
Subject: [PATCH 07/35] Introduce new Conversation object
|
||||
@ -1458,7 +1458,7 @@ index 8bed085..9bfda86 100644
|
||||
1.7.4.1
|
||||
|
||||
|
||||
From be4f83a6b936d7f73614accd78cf10c78e4b257b Mon Sep 17 00:00:00 2001
|
||||
From aa670cd4c15c594d12390496372e669178c9bf34 Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Wed, 4 Feb 2009 10:55:03 -0500
|
||||
Subject: [PATCH 08/35] Rename session worker to the service it's managing
|
||||
@ -1647,7 +1647,7 @@ index d24f025..4833f23 100644
|
||||
1.7.4.1
|
||||
|
||||
|
||||
From 791bd408970f023cca1211d21400e7f73d3a557c Mon Sep 17 00:00:00 2001
|
||||
From a746997c009382cb4500674dd7d1431ba5f6f9d2 Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Fri, 16 Jan 2009 13:01:48 -0500
|
||||
Subject: [PATCH 09/35] Make greeter/autologin session explicitly request PAM conversation
|
||||
@ -2008,7 +2008,7 @@ index 7be5acd..ed20884 100644
|
||||
1.7.4.1
|
||||
|
||||
|
||||
From 90eb845b64bb5668aeb2d54eb78a7c2d4892778d Mon Sep 17 00:00:00 2001
|
||||
From 58ff5c51c6f48d797320584b2b2ce0f6618f7cb9 Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Fri, 16 Jan 2009 15:18:31 -0500
|
||||
Subject: [PATCH 10/35] Store multiple conversations in the session
|
||||
@ -6615,7 +6615,7 @@ index ed20884..16f8db5 100644
|
||||
1.7.4.1
|
||||
|
||||
|
||||
From 9f4212f9ea630e7b30b00ccf86a882b91e3b5c17 Mon Sep 17 00:00:00 2001
|
||||
From b221145b95a6b612091f5d81db9fbff796351c32 Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Wed, 28 Oct 2009 16:05:14 -0400
|
||||
Subject: [PATCH 11/35] Return a different error code for "service won't work" than "auth failed"
|
||||
@ -6675,7 +6675,7 @@ index ee5465a..b1c8285 100644
|
||||
1.7.4.1
|
||||
|
||||
|
||||
From 9e9a68065a829025da372b034868cfc0ca4971a1 Mon Sep 17 00:00:00 2001
|
||||
From 8501846fa24735fe6195b9ca5a05f7aa5a96d887 Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Wed, 28 Oct 2009 21:32:00 -0400
|
||||
Subject: [PATCH 12/35] Emit "service-unavailable" from session when pam service refuses to work
|
||||
@ -6914,7 +6914,7 @@ index 9e72f89..ab16031 100644
|
||||
1.7.4.1
|
||||
|
||||
|
||||
From 12dbb74e8cd44eb579587469d6e376f419056ff4 Mon Sep 17 00:00:00 2001
|
||||
From ae83626e9eeee53245d672bb76d9a5383669740f Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Wed, 28 Oct 2009 21:38:52 -0400
|
||||
Subject: [PATCH 13/35] Bubble service-unavailable up to greeter
|
||||
@ -7048,7 +7048,7 @@ index 396007f..7d967b3 100644
|
||||
1.7.4.1
|
||||
|
||||
|
||||
From 8c7b68952240df1c40a7f14c5868665a365ff64f Mon Sep 17 00:00:00 2001
|
||||
From 6de8d9fe6bf18e73ff141dbe67000fdf5462efa4 Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Wed, 28 Oct 2009 21:46:39 -0400
|
||||
Subject: [PATCH 14/35] Catch service-unavailable from server in client and propagate it
|
||||
@ -7127,7 +7127,7 @@ index 868b496..63bd4b5 100644
|
||||
1.7.4.1
|
||||
|
||||
|
||||
From 6489e96641ee835a7c0fb22010e66fbf82ce3db8 Mon Sep 17 00:00:00 2001
|
||||
From 1d67919214c2dbc2072ef4f41cd53f82bca08a6b Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Thu, 5 Feb 2009 15:20:25 -0500
|
||||
Subject: [PATCH 15/35] Queue a greeter reset when the user clicks cancel
|
||||
@ -7252,7 +7252,7 @@ index 7d967b3..2ecf0a4 100644
|
||||
1.7.4.1
|
||||
|
||||
|
||||
From e3efa1719fdb78952cf57e28647cc52fe7844957 Mon Sep 17 00:00:00 2001
|
||||
From dee01922148f640ad46e441a0630554c4e977492 Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Fri, 6 Nov 2009 13:35:26 -0500
|
||||
Subject: [PATCH 16/35] Don't delay login for passwd -d users
|
||||
@ -7281,7 +7281,7 @@ index a64bbc2..d689d91 100644
|
||||
1.7.4.1
|
||||
|
||||
|
||||
From b0a3cad225154377fa0e5429ebe4525d5f7e291e Mon Sep 17 00:00:00 2001
|
||||
From 09d46952fd2ff07333101bb408a9bfa4cd4fc502 Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Fri, 30 Jan 2009 23:57:31 -0500
|
||||
Subject: [PATCH 17/35] Add a plugin based extension system to greeter
|
||||
@ -7356,7 +7356,7 @@ index d5455e1..d8a9e72 100644
|
||||
VOID:DOUBLE
|
||||
+BOOLEAN:STRING
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 48be019..2a2e37b 100644
|
||||
index b907340..211bdcd 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -18,6 +18,22 @@ AC_PROG_CXX
|
||||
@ -10937,7 +10937,7 @@ index 0000000..cc377bd
|
||||
+
|
||||
+#endif /* __GDM_TASK_LIST_H */
|
||||
diff --git a/gui/simple-greeter/gdm-user-chooser-widget.c b/gui/simple-greeter/gdm-user-chooser-widget.c
|
||||
index a385218..8414313 100644
|
||||
index be756a6..9b409b3 100644
|
||||
--- a/gui/simple-greeter/gdm-user-chooser-widget.c
|
||||
+++ b/gui/simple-greeter/gdm-user-chooser-widget.c
|
||||
@@ -635,9 +635,30 @@ gdm_user_chooser_widget_set_show_user_auto (GdmUserChooserWidget *widget,
|
||||
@ -12297,11 +12297,11 @@ index 0000000..9b87c67
|
||||
+ return GDM_GREETER_EXTENSION (extension);
|
||||
+}
|
||||
diff --git a/po/POTFILES.in b/po/POTFILES.in
|
||||
index 8a4997a..2f9af97 100644
|
||||
index 67383d6..524d817 100644
|
||||
--- a/po/POTFILES.in
|
||||
+++ b/po/POTFILES.in
|
||||
@@ -81,6 +81,7 @@ gui/simple-greeter/gdm-timer.c
|
||||
gui/simple-greeter/gdm-user.c
|
||||
@@ -80,6 +80,7 @@ gui/simple-greeter/gdm-simple-greeter.schemas.in
|
||||
gui/simple-greeter/gdm-timer.c
|
||||
gui/simple-greeter/gdm-user-chooser-widget.c
|
||||
gui/simple-greeter/greeter-main.c
|
||||
+gui/simple-greeter/plugins/password/gdm-password-extension.c
|
||||
@ -12312,7 +12312,7 @@ index 8a4997a..2f9af97 100644
|
||||
1.7.4.1
|
||||
|
||||
|
||||
From a659374376aa864925143b7b58847aca9e830345 Mon Sep 17 00:00:00 2001
|
||||
From 0cb46cd5674ee353419bcf2993c5ddf99a6ae4cd Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Wed, 4 Aug 2010 18:25:50 -0400
|
||||
Subject: [PATCH 18/35] squash with password
|
||||
@ -12377,7 +12377,7 @@ index 255283e..11a171c 100644
|
||||
1.7.4.1
|
||||
|
||||
|
||||
From 047ceabcb1fa549e9a6bb7197c5e12cdd4e49296 Mon Sep 17 00:00:00 2001
|
||||
From d7cf879cd7a93b752767faba110885ca4448e571 Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Fri, 6 Aug 2010 11:13:10 -0400
|
||||
Subject: [PATCH 19/35] task list fix
|
||||
@ -12427,7 +12427,7 @@ index 5fdc2b8..3e49fb7 100644
|
||||
1.7.4.1
|
||||
|
||||
|
||||
From 1055ba4d586d4f61a22faca0d968ddb8816b5569 Mon Sep 17 00:00:00 2001
|
||||
From 2b95e4ed4c0b6ebba9e70feecca779d26178597e Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Tue, 29 Jun 2010 14:13:35 -0400
|
||||
Subject: [PATCH 20/35] Show cancel button after first message
|
||||
@ -12471,7 +12471,7 @@ index 9844af9..938e523 100644
|
||||
1.7.4.1
|
||||
|
||||
|
||||
From 72355ea96c482d015422b327c5ecca3b3766478d Mon Sep 17 00:00:00 2001
|
||||
From 74b5fbd516671be45a6305ef19147458f713148c Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Wed, 28 Oct 2009 11:13:10 -0400
|
||||
Subject: [PATCH 21/35] Prevent start session signal handler from getting called multiple times
|
||||
@ -12507,7 +12507,7 @@ index 938e523..0fb6c64 100644
|
||||
1.7.4.1
|
||||
|
||||
|
||||
From 889691316c708a787a5f60e91e380c658893542d Mon Sep 17 00:00:00 2001
|
||||
From a06fdd650307ecf5b88c2cf38de3752cd46a85fb Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Fri, 6 Feb 2009 16:25:47 -0500
|
||||
Subject: [PATCH 22/35] Add fingerprint plugin
|
||||
@ -12543,7 +12543,7 @@ fingerprint scans.
|
||||
create mode 100644 gui/simple-greeter/plugins/fingerprint/plugin.c
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 2a2e37b..98a8bf6 100644
|
||||
index 211bdcd..d753d77 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1440,6 +1440,10 @@ gui/simple-greeter/libgdmsimplegreeter/Makefile
|
||||
@ -13262,10 +13262,10 @@ index 0000000..5ea9925
|
||||
+ return GDM_GREETER_EXTENSION (extension);
|
||||
+}
|
||||
diff --git a/po/POTFILES.in b/po/POTFILES.in
|
||||
index 2f9af97..4f5b317 100644
|
||||
index 524d817..3e0b163 100644
|
||||
--- a/po/POTFILES.in
|
||||
+++ b/po/POTFILES.in
|
||||
@@ -82,6 +82,7 @@ gui/simple-greeter/gdm-user.c
|
||||
@@ -81,6 +81,7 @@ gui/simple-greeter/gdm-timer.c
|
||||
gui/simple-greeter/gdm-user-chooser-widget.c
|
||||
gui/simple-greeter/greeter-main.c
|
||||
gui/simple-greeter/plugins/password/gdm-password-extension.c
|
||||
@ -13277,7 +13277,7 @@ index 2f9af97..4f5b317 100644
|
||||
1.7.4.1
|
||||
|
||||
|
||||
From 65dd58cf8a77e2df4e517d23aefc7e7f2a186231 Mon Sep 17 00:00:00 2001
|
||||
From 97315dd4efc474d3c62b558f7647c182447eb726 Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Fri, 6 Feb 2009 16:25:47 -0500
|
||||
Subject: [PATCH 23/35] Add smartcard plugin
|
||||
@ -13323,7 +13323,7 @@ smartcards are inserted.
|
||||
create mode 100644 gui/simple-greeter/plugins/smartcard/plugin.c
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 98a8bf6..5f370ab 100644
|
||||
index d753d77..c850ea2 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -68,6 +68,7 @@ LIBCANBERRA_GTK_REQUIRED_VERSION=0.4
|
||||
@ -16776,10 +16776,10 @@ index 0000000..fffbd50
|
||||
+ return GDM_GREETER_EXTENSION (extension);
|
||||
+}
|
||||
diff --git a/po/POTFILES.in b/po/POTFILES.in
|
||||
index 4f5b317..48634f1 100644
|
||||
index 3e0b163..69eb449 100644
|
||||
--- a/po/POTFILES.in
|
||||
+++ b/po/POTFILES.in
|
||||
@@ -83,6 +83,9 @@ gui/simple-greeter/gdm-user-chooser-widget.c
|
||||
@@ -82,6 +82,9 @@ gui/simple-greeter/gdm-user-chooser-widget.c
|
||||
gui/simple-greeter/greeter-main.c
|
||||
gui/simple-greeter/plugins/password/gdm-password-extension.c
|
||||
gui/simple-greeter/plugins/fingerprint/gdm-fingerprint-extension.c
|
||||
@ -16793,7 +16793,7 @@ index 4f5b317..48634f1 100644
|
||||
1.7.4.1
|
||||
|
||||
|
||||
From d52b686f0869887997864ea0553f3f5785f65b94 Mon Sep 17 00:00:00 2001
|
||||
From 2c9f10758c955238fb7a4b2b60c743292072eb85 Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Wed, 4 Aug 2010 18:26:01 -0400
|
||||
Subject: [PATCH 24/35] squash with smartcard
|
||||
@ -16834,7 +16834,7 @@ index b925f5e..b40a21c 100644
|
||||
1.7.4.1
|
||||
|
||||
|
||||
From 6977055677ac889d204d17391327261e7dd1757f Mon Sep 17 00:00:00 2001
|
||||
From 839f3be0ea63df3db33e9e4327ef99a88d040ec3 Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Tue, 21 Apr 2009 10:25:18 -0400
|
||||
Subject: [PATCH 25/35] When one PAM conversation wins, stop the others
|
||||
@ -16966,7 +16966,7 @@ index 2ecf0a4..ff1f3af 100644
|
||||
1.7.4.1
|
||||
|
||||
|
||||
From 78949a4384dc2aae51bb8835520075bcc9793ef6 Mon Sep 17 00:00:00 2001
|
||||
From 1f55b2efed2d819679724c19f6ea297c628e666a Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Fri, 24 Jul 2009 14:41:48 -0400
|
||||
Subject: [PATCH 26/35] KILL stuck processes if they don't die on TERM
|
||||
@ -17090,7 +17090,7 @@ index be85f30..8b93663 100644
|
||||
1.7.4.1
|
||||
|
||||
|
||||
From 2316076b232cd4efd6e6e6f22c6af206ff7bb581 Mon Sep 17 00:00:00 2001
|
||||
From 774c9b9bf574849f8994d2e227b40a9d6cc3c97a Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Tue, 13 Jul 2010 22:36:19 -0400
|
||||
Subject: [PATCH 27/35] add better debug spew (needs squash)
|
||||
@ -17143,7 +17143,7 @@ index 0f0c053..23812d2 100644
|
||||
1.7.4.1
|
||||
|
||||
|
||||
From b98e46ec2d16d390c5fecf0b18471583ca54670f Mon Sep 17 00:00:00 2001
|
||||
From 3243e64db6f142c404b33a2f1773810cebb7d1e9 Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Tue, 13 Jul 2010 22:37:35 -0400
|
||||
Subject: [PATCH 28/35] switch to proper mode when going to timed login
|
||||
@ -17169,7 +17169,7 @@ index 0fb6c64..adcd71f 100644
|
||||
1.7.4.1
|
||||
|
||||
|
||||
From 16c4f635f7442808d4f3f7f9232097b8bb093345 Mon Sep 17 00:00:00 2001
|
||||
From 095989310331c8f848a1e4271d7a05b4585f3053 Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Tue, 3 Aug 2010 15:21:26 -0400
|
||||
Subject: [PATCH 29/35] Drop "Cancelling" message for plugin initiated cancels
|
||||
@ -17198,7 +17198,7 @@ index adcd71f..cd1941e 100644
|
||||
1.7.4.1
|
||||
|
||||
|
||||
From 40114bb382490be345b04004082c85d55cf53691 Mon Sep 17 00:00:00 2001
|
||||
From 47242b775c34ae5102bc223adede52a0ee86cd61 Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Wed, 4 Aug 2010 18:11:27 -0400
|
||||
Subject: [PATCH 30/35] drop code for label that doesn't exist anymore
|
||||
@ -17234,7 +17234,7 @@ index cd1941e..f3f89b2 100644
|
||||
1.7.4.1
|
||||
|
||||
|
||||
From 5cb876a52cd54a895dc925fc8625a4b4c490f4e9 Mon Sep 17 00:00:00 2001
|
||||
From 159cd5a6cf4d110f9adbbd6b5a953692911fb02b Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Wed, 4 Aug 2010 18:03:52 -0400
|
||||
Subject: [PATCH 31/35] Add delay when showing messages (needs split)
|
||||
@ -17699,7 +17699,7 @@ index b40a21c..5e234b9 100644
|
||||
1.7.4.1
|
||||
|
||||
|
||||
From 438a429d75d0af77649901c2421e2898a504f831 Mon Sep 17 00:00:00 2001
|
||||
From 8a06dfeaca172cab52ca61de7e9daf546d697b53 Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Wed, 4 Aug 2010 19:27:14 -0400
|
||||
Subject: [PATCH 32/35] Drop cancelling message
|
||||
@ -17726,7 +17726,7 @@ index e43449e..cb03d06 100644
|
||||
1.7.4.1
|
||||
|
||||
|
||||
From 6720d05d54ec542dc9031f13462438fa5b8ebdf4 Mon Sep 17 00:00:00 2001
|
||||
From cdbeecaa9f11cf2f1c5036fe9cd01287f8d470d1 Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Fri, 6 Aug 2010 11:14:23 -0400
|
||||
Subject: [PATCH 33/35] manage tasks outside of task list
|
||||
@ -18527,7 +18527,7 @@ index cb03d06..627a6f9 100644
|
||||
1.7.4.1
|
||||
|
||||
|
||||
From 62d27058a556a1e27099684470f9b24c97f011eb Mon Sep 17 00:00:00 2001
|
||||
From 9fdf58cb6dd87a378f2138ae533e965afd7f812d Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Mon, 9 Aug 2010 18:09:19 -0400
|
||||
Subject: [PATCH 34/35] hide task actions more aggressively
|
||||
@ -18562,7 +18562,7 @@ index 627a6f9..8772fdd 100644
|
||||
1.7.4.1
|
||||
|
||||
|
||||
From 9255529aa654bd240db39888d1fd452d44ec9df3 Mon Sep 17 00:00:00 2001
|
||||
From 5cdb54c609ee56d3fd1c4733562a59bd9b6af0de Mon Sep 17 00:00:00 2001
|
||||
From: Gal Hammer <ghammer@redhat.com>
|
||||
Date: Thu, 21 Oct 2010 10:14:32 -0400
|
||||
Subject: [PATCH 35/35] smartcard: don't show extension if disabled in authconfig
|
||||
|
@ -1,119 +0,0 @@
|
||||
#
|
||||
# Description: Get default keyboard layout from hal
|
||||
# Ubuntu: https://bugs.launchpad.net/bugs/395103
|
||||
# Fedora: http://cvs.fedoraproject.org/viewvc//devel/gdm/gdm-system-keyboard.patch?view=markup
|
||||
#
|
||||
diff -Nur -x '*.orig' -x '*~' gdm-2.28.0/configure.ac gdm-2.28.0.new/configure.ac
|
||||
--- gdm-2.28.0/configure.ac 2009-09-21 22:06:40.000000000 +0200
|
||||
+++ gdm-2.28.0.new/configure.ac 2009-10-01 12:35:50.345762314 +0200
|
||||
@@ -70,6 +70,7 @@
|
||||
dbus-glib-1 >= $DBUS_GLIB_REQUIRED_VERSION
|
||||
gobject-2.0 >= $GLIB_REQUIRED_VERSION
|
||||
gio-2.0 >= $GLIB_REQUIRED_VERSION
|
||||
+ hal
|
||||
)
|
||||
AC_SUBST(DAEMON_CFLAGS)
|
||||
AC_SUBST(DAEMON_LIBS)
|
||||
diff -Nur -x '*.orig' -x '*~' gdm-2.28.0/daemon/gdm-session-direct.c gdm-2.28.0.new/daemon/gdm-session-direct.c
|
||||
--- gdm-2.28.0/daemon/gdm-session-direct.c 2009-09-21 22:05:27.000000000 +0200
|
||||
+++ gdm-2.28.0.new/daemon/gdm-session-direct.c 2009-10-01 12:34:43.000000000 +0200
|
||||
@@ -45,6 +45,8 @@
|
||||
#include <dbus/dbus-glib.h>
|
||||
#include <dbus/dbus-glib-lowlevel.h>
|
||||
|
||||
+#include <libhal.h>
|
||||
+
|
||||
#include "gdm-session-direct.h"
|
||||
#include "gdm-session.h"
|
||||
#include "gdm-session-private.h"
|
||||
@@ -598,14 +600,87 @@
|
||||
return setlocale (LC_MESSAGES, NULL);
|
||||
}
|
||||
|
||||
+static char *
|
||||
+get_system_default_layout (GdmSessionDirect *session)
|
||||
+{
|
||||
+ DBusConnection *connection;
|
||||
+ LibHalContext *ctx;
|
||||
+ char **devices;
|
||||
+ int n_devices;
|
||||
+ char *layout;
|
||||
+ char *variant;
|
||||
+ char *result;
|
||||
+
|
||||
+ result = NULL;
|
||||
+
|
||||
+ connection = dbus_g_connection_get_connection (session->priv->connection);
|
||||
+ ctx = libhal_ctx_new ();
|
||||
+ libhal_ctx_set_dbus_connection (ctx, connection);
|
||||
+
|
||||
+ if (!libhal_ctx_init (ctx, NULL)) {
|
||||
+ goto out;
|
||||
+ }
|
||||
+
|
||||
+ devices = libhal_find_device_by_capability (ctx,
|
||||
+ "input.keyboard",
|
||||
+ &n_devices,
|
||||
+ NULL);
|
||||
+ if (n_devices > 0) {
|
||||
+ layout = libhal_device_get_property_string (ctx,
|
||||
+ devices[0],
|
||||
+ "input.x11_options.XkbLayout",
|
||||
+ NULL);
|
||||
+ if (!layout) {
|
||||
+ layout = libhal_device_get_property_string (ctx,
|
||||
+ devices[0],
|
||||
+ "input.xkb.layout",
|
||||
+ NULL);
|
||||
+ }
|
||||
+ if (!layout)
|
||||
+ goto out;
|
||||
+
|
||||
+ variant = libhal_device_get_property_string (ctx,
|
||||
+ devices[0],
|
||||
+ "input.x11_options.XkbVariant",
|
||||
+ NULL);
|
||||
+ if (!variant) {
|
||||
+ variant = libhal_device_get_property_string (ctx,
|
||||
+ devices[0],
|
||||
+ "input.xkb.variant",
|
||||
+ NULL);
|
||||
+ }
|
||||
+
|
||||
+ if (variant != NULL && variant[0] != '\0') {
|
||||
+ result = g_strdup_printf("%s\t%s", layout, variant);
|
||||
+ libhal_free_string (variant);
|
||||
+ } else {
|
||||
+ result = g_strdup (layout);
|
||||
+ }
|
||||
+ libhal_free_string (layout);
|
||||
+ }
|
||||
+
|
||||
+ libhal_free_string_array (devices);
|
||||
+
|
||||
+ libhal_ctx_shutdown (ctx, NULL);
|
||||
+ libhal_ctx_free (ctx);
|
||||
+
|
||||
+out:
|
||||
+ if (!result) {
|
||||
+ result = g_strdup ("us");
|
||||
+ }
|
||||
+
|
||||
+ g_debug ("GdmSessionDirect: System default keyboard layout: '%s'", result);
|
||||
+ return result;
|
||||
+}
|
||||
+
|
||||
static const char *
|
||||
get_default_layout_name (GdmSessionDirect *session)
|
||||
{
|
||||
- if (session->priv->saved_layout != NULL) {
|
||||
- return session->priv->saved_layout;
|
||||
+ if (!session->priv->saved_layout) {
|
||||
+ session->priv->saved_layout = get_system_default_layout (session);
|
||||
}
|
||||
|
||||
- return "us";
|
||||
+ return session->priv->saved_layout;
|
||||
}
|
||||
|
||||
static char *
|
18
gdm.spec
18
gdm.spec
@ -14,14 +14,14 @@
|
||||
|
||||
Summary: The GNOME Display Manager
|
||||
Name: gdm
|
||||
Version: 2.91.6
|
||||
Release: 11%{?dist}
|
||||
Version: 2.91.91
|
||||
Release: 1%{?dist}
|
||||
Epoch: 1
|
||||
License: GPLv2+
|
||||
Group: User Interface/X
|
||||
URL: http://download.gnome.org/sources/gdm
|
||||
#VCS: git:git://git.gnome.org/gdm
|
||||
Source: http://download.gnome.org/sources/gdm/2.32/gdm-%{version}.tar.bz2
|
||||
Source: http://download.gnome.org/sources/gdm/2.91/gdm-%{version}.tar.bz2
|
||||
Source1: gdm-pam
|
||||
Source2: gdm-autologin-pam
|
||||
Source3: gdm-password.pam
|
||||
@ -89,13 +89,7 @@ Provides: service(graphical-login) = %{name}
|
||||
|
||||
Requires: audit-libs >= %{libauditver}
|
||||
|
||||
Patch1: 0001-Make-sure-to-disable-g-s-d-plugins-in-greeter.patch
|
||||
Patch2: plymouth.patch
|
||||
Patch3: fix-theme-related-crash.patch
|
||||
Patch4: fix-crasher.patch
|
||||
Patch5: add-session-chooser.patch
|
||||
Patch6: move-to-accounts-library.patch
|
||||
Patch7: fix-empty-userlist.patch
|
||||
|
||||
Patch96: gdm-multistack.patch
|
||||
# Fedora-specific
|
||||
@ -125,13 +119,7 @@ The GDM fingerprint plugin provides functionality necessary to use a fingerprint
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch1 -p1 -b .gsd-plugins
|
||||
%patch2 -p1 -b .plymouth
|
||||
%patch3 -p1 -b .fix-theme-related-crash
|
||||
%patch4 -p1 -b .fix-crasher
|
||||
%patch5 -p1 -b .add-session-chooser
|
||||
%patch6 -p1 -b .move-to-accounts-library
|
||||
%patch7 -p1 -b .fix-empty-user-list
|
||||
%patch96 -p1 -b .multistack
|
||||
%patch99 -p1 -b .fedora-logo
|
||||
|
||||
|
@ -1,80 +0,0 @@
|
||||
From 951e72405640b1682072a846118077e927affaaf Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Wed, 19 Jan 2011 12:06:42 -0500
|
||||
Subject: [PATCH] user-chooser: try to find fallback icon more aggressively
|
||||
|
||||
Some themes won't give you the nearest icon at the requested size,
|
||||
so first look up the available sizes and choose the closest
|
||||
available one ourselves.
|
||||
|
||||
If it fails, just fallback to an empty square of the right size.
|
||||
---
|
||||
gui/simple-greeter/gdm-user-chooser-widget.c | 35 ++++++++++++++++++++++++-
|
||||
1 files changed, 33 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/gui/simple-greeter/gdm-user-chooser-widget.c b/gui/simple-greeter/gdm-user-chooser-widget.c
|
||||
index 8df255f..6d03c38 100644
|
||||
--- a/gui/simple-greeter/gdm-user-chooser-widget.c
|
||||
+++ b/gui/simple-greeter/gdm-user-chooser-widget.c
|
||||
@@ -833,6 +833,9 @@ get_pixbuf_from_icon_names (GdmUserChooserWidget *widget,
|
||||
int size;
|
||||
const char *icon_name;
|
||||
va_list argument_list;
|
||||
+ gint *sizes;
|
||||
+ gint candidate_size;
|
||||
+ int i;
|
||||
|
||||
array = g_ptr_array_new ();
|
||||
|
||||
@@ -849,9 +852,29 @@ get_pixbuf_from_icon_names (GdmUserChooserWidget *widget,
|
||||
|
||||
size = get_icon_height_for_widget (GTK_WIDGET (widget));
|
||||
|
||||
+ sizes = gtk_icon_theme_get_icon_sizes (widget->priv->icon_theme, first_name);
|
||||
+
|
||||
+ candidate_size = 0;
|
||||
+ for (i = 0; sizes[i] != 0; i++) {
|
||||
+
|
||||
+ /* scalable */
|
||||
+ if (sizes[i] == -1) {
|
||||
+ candidate_size = sizes[i];
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ if (ABS (size - sizes[i]) < ABS (size - candidate_size)) {
|
||||
+ candidate_size = sizes[i];
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ if (candidate_size == 0) {
|
||||
+ candidate_size = size;
|
||||
+ }
|
||||
+
|
||||
icon_info = gtk_icon_theme_choose_icon (widget->priv->icon_theme,
|
||||
(const char **) array->pdata,
|
||||
- size,
|
||||
+ candidate_size,
|
||||
GTK_ICON_LOOKUP_GENERIC_FALLBACK);
|
||||
g_ptr_array_free (array, FALSE);
|
||||
|
||||
@@ -868,8 +891,16 @@ get_pixbuf_from_icon_names (GdmUserChooserWidget *widget,
|
||||
g_error_free (error);
|
||||
}
|
||||
} else {
|
||||
+ GdkPixbuf *scaled_pixbuf;
|
||||
+
|
||||
+ guchar pixel = 0x00000000;
|
||||
+
|
||||
g_warning ("Could not find icon '%s' or fallbacks", first_name);
|
||||
- pixbuf = NULL;
|
||||
+ pixbuf = gdk_pixbuf_new_from_data (&pixel, GDK_COLORSPACE_RGB,
|
||||
+ TRUE, 8, 1, 1, 1, NULL, NULL);
|
||||
+ scaled_pixbuf = gdk_pixbuf_scale_simple (pixbuf, size, size, GDK_INTERP_NEAREST);
|
||||
+ g_object_unref (pixbuf);
|
||||
+ pixbuf = scaled_pixbuf;
|
||||
}
|
||||
|
||||
return pixbuf;
|
||||
--
|
||||
1.7.3.4
|
||||
|
@ -1,31 +0,0 @@
|
||||
From 1eb1f09bcfa3f7c3c33da0ef24c5a528e53528cd Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Wed, 19 Jan 2011 13:32:28 -0500
|
||||
Subject: [PATCH] user-chooser-widget: fix ref counting issue on user pixbuf
|
||||
|
||||
---
|
||||
gui/simple-greeter/gdm-user-chooser-widget.c | 7 +++++++
|
||||
1 files changed, 7 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/gui/simple-greeter/gdm-user-chooser-widget.c b/gui/simple-greeter/gdm-user-chooser-widget.c
|
||||
index 6d03c38..9447e59 100644
|
||||
--- a/gui/simple-greeter/gdm-user-chooser-widget.c
|
||||
+++ b/gui/simple-greeter/gdm-user-chooser-widget.c
|
||||
@@ -949,7 +949,14 @@ update_icons (GdmChooserWidget *widget,
|
||||
IconUpdateData *data)
|
||||
{
|
||||
if (data->old_icon == *image) {
|
||||
+ if (*image != NULL) {
|
||||
+ g_object_unref (*image);
|
||||
+ }
|
||||
*image = data->new_icon;
|
||||
+
|
||||
+ if (*image != NULL) {
|
||||
+ g_object_ref (*image);
|
||||
+ }
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
--
|
||||
1.7.3.4
|
||||
|
File diff suppressed because it is too large
Load Diff
2
sources
2
sources
@ -1 +1 @@
|
||||
d1a6313d9ea4da24c6399bece989fdd9 gdm-2.91.6.tar.bz2
|
||||
44e2f162e97451fd2957078c1877257f gdm-2.91.91.tar.bz2
|
||||
|
@ -1,62 +0,0 @@
|
||||
From 51669cb03613b36b0b1798b1f8d2bba85b3e2a49 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Pitt <martin.pitt@ubuntu.com>
|
||||
Date: Mon, 18 Jan 2010 16:09:58 +0100
|
||||
Subject: [PATCH] Fix crash in getting system keyboard layout
|
||||
|
||||
In get_system_default_layout(), use a static variable for
|
||||
xkl_engine_get_instance() result, and don't close the X Display.
|
||||
|
||||
This fixes the crash that happens at the second call of
|
||||
get_system_default_layout(): xkl_engine_get_instance() returns a singleton
|
||||
which saves the passed X Display instance, so we must never close it.
|
||||
|
||||
https://launchpad.net/bugs/505972
|
||||
---
|
||||
daemon/gdm-session-direct.c | 23 ++++++++++++-----------
|
||||
1 files changed, 12 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/daemon/gdm-session-direct.c b/daemon/gdm-session-direct.c
|
||||
index 011a919..d2e1a83 100644
|
||||
--- a/daemon/gdm-session-direct.c
|
||||
+++ b/daemon/gdm-session-direct.c
|
||||
@@ -601,16 +601,19 @@ get_default_language_name (GdmSessionDirect *session)
|
||||
static char *
|
||||
get_system_default_layout (GdmSessionDirect *session)
|
||||
{
|
||||
- char *result;
|
||||
- Display *display;
|
||||
+ char *result = NULL;
|
||||
+ static XklEngine *engine = NULL;
|
||||
|
||||
- result = NULL;
|
||||
- display = XOpenDisplay (session->priv->display_name);
|
||||
- if (display) {
|
||||
- XklConfigRec *config;
|
||||
- XklEngine *engine = xkl_engine_get_instance (display);
|
||||
- if (engine)
|
||||
- {
|
||||
+ if (engine == NULL) {
|
||||
+ Display *display = XOpenDisplay (session->priv->display_name);
|
||||
+ if (display != NULL) {
|
||||
+ engine = xkl_engine_get_instance (display);
|
||||
+ }
|
||||
+ /* do NOT call XCloseDisplay (display) here;
|
||||
+ * xkl_engine_get_instance() is a singleton which saves the display */
|
||||
+ }
|
||||
+
|
||||
+ if (engine != NULL) {
|
||||
XklConfigRec *config = xkl_config_rec_new ();
|
||||
if (xkl_config_rec_get_from_server (config, engine) && config->layouts && config->layouts[0]) {
|
||||
if (config->variants && config->variants[0] && config->variants[0][0])
|
||||
@@ -619,8 +622,6 @@ get_system_default_layout (GdmSessionDirect *session)
|
||||
result = g_strdup (config->layouts[0]);
|
||||
}
|
||||
g_object_unref (config);
|
||||
- }
|
||||
- XCloseDisplay (display);
|
||||
}
|
||||
|
||||
if (!result)
|
||||
--
|
||||
1.6.6
|
||||
|
Loading…
Reference in New Issue
Block a user