File lightdm-gtk-greeter-fix-background.patch of Package lightdm-gtk-greeter
Index: lightdm-gtk-greeter-1.3.1/src/lightdm-gtk-greeter.c
===================================================================
--- lightdm-gtk-greeter-1.3.1.orig/src/lightdm-gtk-greeter.c
+++ lightdm-gtk-greeter-1.3.1/src/lightdm-gtk-greeter.c
@@ -785,7 +785,14 @@ main (int argc, char **argv)
g_debug ("Loading background %s", path);
background_pixbuf = gdk_pixbuf_new_from_file (path, &error);
- if (!background_pixbuf)
+ if (background_pixbuf)
+ {
+ /* Add alpha channel if it doesn't exist yet (lp#1024482) */
+ GdkPixbuf *background_pixbuf_tmp = gdk_pixbuf_add_alpha (background_pixbuf, FALSE, 0, 0, 0);
+ g_object_unref (G_OBJECT (background_pixbuf));
+ background_pixbuf = background_pixbuf_tmp;
+ }
+ else
g_warning ("Failed to load background: %s", error->message);
g_clear_error (&error);
g_free (path);
@@ -874,6 +881,12 @@ main (int argc, char **argv)
g_object_set (gtk_settings_get_default (), "gtk-xft-rgba", value, NULL);
g_free (value);
+ /* Set default cursor */
+ GdkCursor *cursor;
+ cursor = gdk_cursor_new (GDK_LEFT_PTR);
+ gdk_window_set_cursor (gdk_get_default_root_window (), cursor);
+ g_object_unref(cursor);
+
builder = gtk_builder_new ();
if (!gtk_builder_add_from_file (builder, GREETER_DATA_DIR "/greeter.ui", &error))
{
@@ -882,13 +895,6 @@ main (int argc, char **argv)
}
g_clear_error (&error);
- /* Set default cursor */
- // gdk_window_set_cursor (gdk_get_default_root_window (), gdk_cursor_new (GDK_LEFT_PTR));
- GdkCursor *cursor;
- cursor = gdk_cursor_new (GDK_LEFT_PTR);
- gdk_window_set_cursor (gdk_get_default_root_window (), cursor);
- g_object_unref(cursor);
-
login_window = GTK_WINDOW (gtk_builder_get_object (builder, "login_window"));
login_box = GTK_WIDGET (gtk_builder_get_object (builder, "login_box"));
login_button = GTK_BUTTON (gtk_builder_get_object (builder, "login_button"));