rpms/gdm/devel gdm-2.6.0.8-compensate-for-broken-dpi.patch, NONE, 1.1 gdm-2.6.0.8-merge-resources.patch, NONE, 1.1 gdm-early-login.init, 1.1, 1.2 gdm.spec, 1.63, 1.64

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Wed Apr 13 20:50:00 UTC 2005


Update of /cvs/dist/rpms/gdm/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv2151

Modified Files:
	gdm-early-login.init gdm.spec 
Added Files:
	gdm-2.6.0.8-compensate-for-broken-dpi.patch 
	gdm-2.6.0.8-merge-resources.patch 
Log Message:
- touch /var/lock/subsys/gdm-early-login so gdm gets killed on
  runlevel changes (bug 113107)
- don't try to use system dpi settings for canvas text (bug 127532)
- merge resource database from displays other than :0


gdm-2.6.0.8-compensate-for-broken-dpi.patch:
 Makefile.am           |    2 
 greeter_canvas_item.c |    9 +--
 greeter_canvas_text.c |  114 ++++++++++++++++++++++++++++++++++++++++++++++++++
 greeter_canvas_text.h |   33 ++++++++++++++
 4 files changed, 153 insertions(+), 5 deletions(-)

--- NEW FILE gdm-2.6.0.8-compensate-for-broken-dpi.patch ---
--- gdm-2.6.0.8/gui/greeter/greeter_canvas_item.c.compensate-for-broken-dpi	2005-03-04 14:55:39.000000000 -0500
+++ gdm-2.6.0.8/gui/greeter/greeter_canvas_item.c	2005-04-13 16:14:10.000000000 -0400
@@ -15,6 +15,7 @@
 #include "greeter_system.h"
 #include "greeter_canvas_item.h"
 #include "greeter_configuration.h"
+#include "greeter_canvas_text.h"
 
 static void
 apply_tint (GdkPixbuf *pixbuf, guint32 tint_color)
@@ -245,9 +246,7 @@ greeter_item_create_canvas_item (Greeter
 	      item->data.pixmap.pixbufs[i] = g_object_ref (item->data.pixmap.pixbufs[0]);
 	    else
 	      item->data.pixmap.pixbufs[i] =
-	        rsvg_pixbuf_from_file_at_size (item->data.pixmap.files[i],
-					       rect.width, rect.height,
-					       NULL);
+                  gdk_pixbuf_new_from_file_at_size (item->data.pixmap.files[i], rect.width, rect.height, NULL);
 	  }
 	else
 	  item->data.pixmap.pixbufs[i] = NULL;
@@ -295,7 +294,7 @@ greeter_item_create_canvas_item (Greeter
 	    just = GTK_JUSTIFY_CENTER;
 
     item->item = gnome_canvas_item_new (group,
-					GNOME_TYPE_CANVAS_TEXT,
+					GREETER_TYPE_CANVAS_TEXT,
 					"text", "",
 					"x", x1,
 					"y", y1,
@@ -537,7 +536,7 @@ greeter_canvas_item_break_set_string (Gr
 		canvas_item = real_item;
 	else
 		canvas_item = gnome_canvas_item_new (gnome_canvas_root (canvas),
-						     GNOME_TYPE_CANVAS_TEXT,
+						     GREETER_TYPE_CANVAS_TEXT,
 						     textattr, "",
 						     "x", 0.0,
 						     "y", 0.0,
--- /dev/null	2005-04-13 10:02:28.377315384 -0400
+++ gdm-2.6.0.8/gui/greeter/greeter_canvas_text.c	2005-04-13 16:23:24.000000000 -0400
@@ -0,0 +1,114 @@
+#include "greeter_canvas_text.h"
+#include <libgnomecanvas/gnome-canvas.h>
+#include <libgnomecanvas/gnome-canvas-text.h>
+#include <pango/pangoft2.h>
+
+enum 
+{
+  PROP_0,
+  PROP_TEXT,
+  PROP_MARKUP
+};
+
+static void greeter_canvas_text_class_init (GreeterCanvasTextClass *class);
+static void greeter_canvas_text_init (GreeterCanvasText *text);
+static void greeter_canvas_text_set_property (GObject            *object,
+                                              guint               param_id,
+                                              const GValue       *value,
+                                              GParamSpec         *pspec);
+static void greeter_canvas_text_get_property (GObject            *object,
+                                              guint               param_id,
+                                              GValue             *value,
+                                              GParamSpec         *pspec);
+
+G_DEFINE_TYPE (GreeterCanvasText, greeter_canvas_text, GNOME_TYPE_CANVAS_TEXT);
+
+static void
+greeter_canvas_text_class_init (GreeterCanvasTextClass *greeter_class)
+{
+  GObjectClass *gobject_class;
+
+  gobject_class = G_OBJECT_CLASS (greeter_class);
+
+  gobject_class->set_property = greeter_canvas_text_set_property;
+  gobject_class->get_property = greeter_canvas_text_get_property;
+
+  g_object_class_install_property
+      (gobject_class,
+       PROP_TEXT,
+       g_param_spec_string ("text",
+                            "Text",
+                            "Text to render",
+                            NULL,
+                            (G_PARAM_READABLE | G_PARAM_WRITABLE)));
+
+  g_object_class_install_property
+      (gobject_class,
+       PROP_MARKUP,
+       g_param_spec_string ("markup",
+                            "Markup",
+                            "Markup to render",
+                            NULL,
+                            (G_PARAM_READABLE | G_PARAM_WRITABLE)));
+
+}
+
+static void
+greeter_canvas_text_init (GreeterCanvasText *text)
+{
+}
+
+static void
+greeter_canvas_text_set_property (GObject            *object,
+                                  guint               param_id,
+                                  const GValue       *value,
+                                  GParamSpec         *pspec)
+{
+  GnomeCanvasItem *item;
+  GnomeCanvasText *text;
+
+  item = GNOME_CANVAS_ITEM (object);
+  text = GNOME_CANVAS_TEXT (object);
+
+  if (text->layout == NULL) 
+    {
+      PangoContext *gtk_context, *context;
+      PangoFT2FontMap *font_map;
+
+      gtk_context = gtk_widget_get_pango_context (GTK_WIDGET (item->canvas));
+
+      font_map = (PangoFT2FontMap *) pango_ft2_font_map_new ();
+      pango_ft2_font_map_set_resolution (font_map, 96.0, 96.0);
+      context = pango_ft2_font_map_create_context (font_map);
+      pango_context_set_language (context, 
+                                  pango_context_get_language (gtk_context));
+      pango_context_set_base_dir (context,
+                                  pango_context_get_base_dir (gtk_context));
+      pango_context_set_font_description (context,
+                                          pango_context_get_font_description (gtk_context));
+      text->layout = pango_layout_new (context);
+      g_object_unref (context);
+
+    }
+  if (param_id == PROP_TEXT)
+    g_object_set_property (object, "GnomeCanvasText::text", value);
+  else if (param_id == PROP_MARKUP)
+    g_object_set_property (object, "GnomeCanvasText::markup", value);
+  else
+    g_assert_not_reached ();
+
+}
+
+static void
+greeter_canvas_text_get_property (GObject            *object,
+                                  guint               param_id,
+                                  GValue             *value,
+                                  GParamSpec         *pspec)
+{
+  if (param_id == PROP_TEXT)
+    g_object_get_property (object, "GnomeCanvasText::text", value);
+  else if (param_id == PROP_MARKUP)
+    g_object_get_property (object, "GnomeCanvasText::markup", value);
+  else
+    g_assert_not_reached ();
+}
--- /dev/null	2005-04-13 10:02:28.377315384 -0400
+++ gdm-2.6.0.8/gui/greeter/greeter_canvas_text.h	2005-04-13 13:48:28.000000000 -0400
@@ -0,0 +1,33 @@
+#ifndef GREETER_CANVAS_TEXT_H
+#define GREETER_CANVAS_TEXT_H
+
+#include <libgnomecanvas/gnome-canvas.h>
+#include <libgnomecanvas/gnome-canvas-text.h>
+
+G_BEGIN_DECLS
+
+#define GREETER_TYPE_CANVAS_TEXT            (greeter_canvas_text_get_type ())
+#define GREETER_CANVAS_TEXT(obj)            (GTK_CHECK_CAST ((obj), GREETER_TYPE_CANVAS_TEXT, GreeterCanvasText))
+#define GREETER_CANVAS_TEXT_CLASS(klass)    (GTK_CHECK_CLASS_CAST ((klass), GREETER_TYPE_CANVAS_TEXT, GreeterCanvasTextClass))
+#define GREETER_IS_CANVAS_TEXT(obj)         (GTK_CHECK_TYPE ((obj), GREETER_TYPE_CANVAS_TEXT))
+#define GREETER_IS_CANVAS_TEXT_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GREETER_TYPE_CANVAS_TEXT))
+#define GREETER_CANVAS_TEXT_GET_CLASS(obj)  (GTK_CHECK_GET_CLASS ((obj), GREETER_TYPE_CANVAS_TEXT, GreeterCanvasTextClass))
+
+
+typedef struct _GreeterCanvasText GreeterCanvasText;
+typedef struct _GreeterCanvasTextClass GreeterCanvasTextClass;
+
+struct _GreeterCanvasText {
+	GnomeCanvasText text;
+};
+
+struct _GreeterCanvasTextClass {
+	GnomeCanvasTextClass parent_class;
+};
+
+
+GType greeter_canvas_text_get_type (void) G_GNUC_CONST;
+
+G_END_DECLS
+
+#endif
--- gdm-2.6.0.8/gui/greeter/Makefile.am	2003-12-10 16:10:17.000000000 -0500
+++ gdm-2.6.0.8/gui/greeter/Makefile.am	2005-04-13 13:45:40.000000000 -0400
@@ -31,6 +31,8 @@ gdmgreeter_SOURCES =  \
 	greeter.h \
 	greeter_action_language.c \
 	greeter_action_language.h \
+	greeter_canvas_text.c \
+	greeter_canvas_text.h \
 	greeter_canvas_item.c \
 	greeter_canvas_item.h \
 	greeter_configuration.h \

gdm-2.6.0.8-merge-resources.patch:
 Default.in |    6 ++++++
 1 files changed, 6 insertions(+)

--- NEW FILE gdm-2.6.0.8-merge-resources.patch ---
--- gdm-2.6.0.8/config/Default.in.merge-resources	2005-04-13 12:52:27.000000000 -0400
+++ gdm-2.6.0.8/config/Default.in	2005-04-13 12:52:44.000000000 -0400
@@ -22,6 +22,12 @@
   echo "$OUTPUT"
 }
 
+sysresources=/etc/X11/Xresources
+
+# merge in defaults
+if [ -f "$sysresources" ]; then
+    xrdb -merge "$sysresources"
+fi
 
 sysmodmap=/etc/X11/Xmodmap
 


Index: gdm-early-login.init
===================================================================
RCS file: /cvs/dist/rpms/gdm/devel/gdm-early-login.init,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- gdm-early-login.init	2 Apr 2005 17:53:53 -0000	1.1
+++ gdm-early-login.init	13 Apr 2005 20:49:58 -0000	1.2
@@ -2,7 +2,7 @@
 #
 # gdm-early-login        Starts gdm in "early-login" mode
 #
-# chkconfig: 5 09 96
+# chkconfig: 5 9 91 
 # description: In early-login mode, GDM will present the login screen to the 
 # user before the system is fully booted.  If the user tries to login, GDM will
 # wait until the system is booted before trying to authenticate the users 
@@ -22,6 +22,7 @@
  	echo -n $"Starting display manager: "
 	daemon /usr/bin/gdm-binary --wait-for-bootup
 	RETVAL=$?
+        [ $RETVAL -eq 0 ] && touch /var/lock/subsys/gdm-early-login
 	echo
 	;;
   stop)
@@ -29,6 +30,7 @@
 	killproc gdm-binary
 	echo
 	RETVAL=$?
+        [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/gdm-early-login
 	echo
 	;;
   *)


Index: gdm.spec
===================================================================
RCS file: /cvs/dist/rpms/gdm/devel/gdm.spec,v
retrieving revision 1.63
retrieving revision 1.64
diff -u -r1.63 -r1.64
--- gdm.spec	2 Apr 2005 17:53:53 -0000	1.63
+++ gdm.spec	13 Apr 2005 20:49:58 -0000	1.64
@@ -16,7 +16,7 @@
 Summary: The GNOME Display Manager.
 Name: gdm
 Version: 2.6.0.8
-Release: 1
+Release: 2
 Epoch: 1
 License: LGPL/GPL
 Group: User Interface/X
@@ -38,6 +38,8 @@
 Patch21: gdm-2.6.0.8-use-canonical-username.patch
 Patch22: gdm-2.6.0.7-stat-home-dir-as-user.patch
 Patch23: gdm-2.6.0.7-desktop.patch
+Patch24: gdm-2.6.0.8-compensate-for-broken-dpi.patch
+Patch25: gdm-2.6.0.8-merge-resources.patch
 
 BuildRoot: %{_tmppath}/gdm-%{PACKAGE_VERSION}-root
 
@@ -102,6 +104,8 @@
 %patch21 -p1 -b .use-cannonical-username
 %patch22 -p1 -b .stat-home-dir-as-user
 %patch23 -p1 -b .onlyshowin
+%patch24 -p1 -b .compensate-for-broken-dpi
+%patch25 -p1 -b .merge-resources
 
 # fix the time format for ja
 perl -pi -e "s|^msgstr \"%a %b %d, %H:%M\"|msgstr \"%m/%d \(%a\) %H:%M\"|; s|^msgstr \"%a %b %d, %I:%M %p\"|msgstr \"%m/%d \(%a\) %p %I:%M\"|" po/ja.po
@@ -269,6 +273,12 @@
 %attr(1770, root, gdm) %dir %{_localstatedir}/gdm
 
 %changelog
+* Wed Apr 13 2005 Ray Strode <rstrode at redhat.com> 1:2.6.0.8-2
+- touch /var/lock/subsys/gdm-early-login so gdm gets killed on
+  runlevel changes (bug 113107)
+- don't try to use system dpi settings for canvas text (bug 127532)
+- merge resource database from displays other than :0
+
 * Sat Apr  2 2005 Ray Strode <rstrode at redhat.com> 1:2.6.0.8-1
 - update to 2.6.0.8
 - add new init scripts to support early-login mode




More information about the fedora-cvs-commits mailing list