Hello community,
here is the log from the commit of package libgnomekbd for openSUSE:Factory
checked in at Fri May 14 00:36:06 CEST 2010.
--------
--- GNOME/libgnomekbd/libgnomekbd.changes 2010-03-29 11:14:16.000000000 +0200
+++ /mounts/work_src_done/STABLE/libgnomekbd/libgnomekbd.changes 2010-04-29 17:48:40.000000000 +0200
@@ -1,0 +2,7 @@
+Thu Apr 29 14:31:31 CEST 2010 - dimstar@opensuse.org
+
+- Update to version 2.30.1:
+ + Seriously improved status icon rendering
+ + Updated translations.
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
libgnomekbd-2.30.0.tar.bz2
New:
----
libgnomekbd-2.30.1.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libgnomekbd.spec ++++++
--- /var/tmp/diff_new_pack.nLxwyB/_old 2010-05-14 00:34:56.000000000 +0200
+++ /var/tmp/diff_new_pack.nLxwyB/_new 2010-05-14 00:34:56.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package libgnomekbd (Version 2.30.0)
+# spec file for package libgnomekbd (Version 2.30.1)
#
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -18,7 +18,7 @@
Name: libgnomekbd
-Version: 2.30.0
+Version: 2.30.1
Release: 1
License: LGPLv2.1+
Summary: GNOME Keyboard Library
++++++ libgnomekbd-2.30.0.tar.bz2 -> libgnomekbd-2.30.1.tar.bz2 ++++++
++++ 2170 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libgnomekbd-2.30.0/NEWS new/libgnomekbd-2.30.1/NEWS
--- old/libgnomekbd-2.30.0/NEWS 2010-03-29 00:19:05.000000000 +0200
+++ new/libgnomekbd-2.30.1/NEWS 2010-04-24 02:33:29.000000000 +0200
@@ -1,3 +1,7 @@
+2.30.1:
+ A couple of translations updated
+ Seriously improved status icon rendering
+
2.30.0:
A lot of translations updated
One crash fixed (excessing unref)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libgnomekbd-2.30.0/configure.in new/libgnomekbd-2.30.1/configure.in
--- old/libgnomekbd-2.30.0/configure.in 2010-03-29 00:18:26.000000000 +0200
+++ new/libgnomekbd-2.30.1/configure.in 2010-04-24 02:30:07.000000000 +0200
@@ -1,7 +1,7 @@
dnl ***************************************************************************
dnl *** configure.in for libgnomekbd ***
dnl ***************************************************************************
-AC_INIT(libgnomekbd, 2.30.0, [http://bugzilla.gnome.org/enter_bug.cgi?product=libgnomekbd])
+AC_INIT(libgnomekbd, 2.30.1, [http://bugzilla.gnome.org/enter_bug.cgi?product=libgnomekbd])
AC_PREREQ(2.59)
VERSION_INFO=5:0:1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libgnomekbd-2.30.0/libgnomekbd/desktop_gnome_peripherals_keyboard_xkb.schemas.in new/libgnomekbd-2.30.1/libgnomekbd/desktop_gnome_peripherals_keyboard_xkb.schemas.in
--- old/libgnomekbd-2.30.0/libgnomekbd/desktop_gnome_peripherals_keyboard_xkb.schemas.in 2010-03-29 00:14:54.000000000 +0200
+++ new/libgnomekbd-2.30.1/libgnomekbd/desktop_gnome_peripherals_keyboard_xkb.schemas.in 2010-04-15 01:18:25.000000000 +0200
@@ -230,7 +230,7 @@
<applyto>/desktop/gnome/peripherals/keyboard/indicator/fontSize</applyto>
<owner>gnome</owner>
<type>int</type>
- <default></default>
+ <default>10</default>
<locale name="C">
<short>The font size</short>
<long>The font size for the layout indicator</long>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libgnomekbd-2.30.0/libgnomekbd/gkbd-indicator-config.c new/libgnomekbd-2.30.1/libgnomekbd/gkbd-indicator-config.c
--- old/libgnomekbd-2.30.0/libgnomekbd/gkbd-indicator-config.c 2010-03-29 00:18:04.000000000 +0200
+++ new/libgnomekbd-2.30.1/libgnomekbd/gkbd-indicator-config.c 2010-03-29 00:54:27.000000000 +0200
@@ -155,7 +155,7 @@
GTK_STYLE_PATH,
GTK_TYPE_LABEL);
ind_config->foreground_color =
- g_strdup_printf ("%lg %lg %lg",
+ g_strdup_printf ("%g %g %g",
((double) style->
fg[GTK_STATE_NORMAL].red) / 0x10000,
((double) style->
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libgnomekbd-2.30.0/libgnomekbd/gkbd-indicator.c new/libgnomekbd-2.30.1/libgnomekbd/gkbd-indicator.c
--- old/libgnomekbd-2.30.0/libgnomekbd/gkbd-indicator.c 2010-03-29 00:18:04.000000000 +0200
+++ new/libgnomekbd-2.30.1/libgnomekbd/gkbd-indicator.c 2010-03-29 00:27:04.000000000 +0200
@@ -273,6 +273,9 @@
int ih = gdk_pixbuf_get_height (image);
GtkAllocation allocation;
gboolean scaling_needed;
+ double xwiratio, ywiratio, wiratio;
+ int sw, sh, ox, oy;
+ GdkPixbuf *scaled;
gtk_widget_get_allocation (flag, &allocation);
scaling_needed =
@@ -281,19 +284,19 @@
(allocation.width >= iw && allocation.height == ih));
/* widget-to-image scales, X and Y */
- double xwiratio = 1.0 * allocation.width / iw;
- double ywiratio = 1.0 * allocation.height / ih;
- double wiratio = xwiratio < ywiratio ? xwiratio : ywiratio;
+ xwiratio = 1.0 * allocation.width / iw;
+ ywiratio = 1.0 * allocation.height / ih;
+ wiratio = xwiratio < ywiratio ? xwiratio : ywiratio;
/* scaled width and height */
- int sw = iw * wiratio;
- int sh = ih * wiratio;
+ sw = iw * wiratio;
+ sh = ih * wiratio;
/* offsets */
- int ox = (allocation.width - sw) >> 1;
- int oy = (allocation.height - sh) >> 1;
+ ox = (allocation.width - sw) >> 1;
+ oy = (allocation.height - sh) >> 1;
- GdkPixbuf *scaled =
+ scaled =
scaling_needed ? gdk_pixbuf_scale_simple (image, sw, sh,
GDK_INTERP_HYPER) :
image;
@@ -309,6 +312,89 @@
g_object_unref (G_OBJECT (scaled));
}
+gchar *
+gkbd_indicator_extract_layout_name (int group, XklEngine * engine,
+ GkbdKeyboardConfig * kbd_cfg,
+ gchar ** short_group_names,
+ gchar ** full_group_names)
+{
+ char *layout_name;
+ if (group < g_strv_length (short_group_names)) {
+ if (xkl_engine_get_features (engine) &
+ XKLF_MULTIPLE_LAYOUTS_SUPPORTED) {
+ char *full_layout_name = (char *)
+ g_slist_nth_data (kbd_cfg->layouts_variants,
+ group);
+ char *variant_name;
+ if (!gkbd_keyboard_config_split_items
+ (full_layout_name, &layout_name,
+ &variant_name))
+ /* just in case */
+ layout_name = full_layout_name;
+
+ /* make it freeable */
+ layout_name = g_strdup (layout_name);
+
+ if (short_group_names != NULL) {
+ char *short_group_name =
+ short_group_names[group];
+ if (short_group_name != NULL
+ && *short_group_name != '\0') {
+ /* drop the long name */
+ g_free (layout_name);
+ layout_name =
+ g_strdup (short_group_name);
+ }
+ }
+ } else {
+ layout_name = g_strdup (full_group_names[group]);
+ }
+ }
+
+ if (layout_name == NULL)
+ layout_name = g_strdup ("??");
+
+ return layout_name;
+}
+
+gchar *
+gkbd_indicator_create_label_title (int group, GHashTable ** ln2cnt_map,
+ gchar * layout_name)
+{
+ gpointer pcounter = NULL;
+ char *prev_layout_name = NULL;
+ char *lbl_title = NULL;
+ int counter = 0;
+
+ if (group == 0) {
+ *ln2cnt_map =
+ g_hash_table_new_full (g_str_hash, g_str_equal,
+ g_free, NULL);
+ }
+
+ /* Process layouts with repeating description */
+ if (g_hash_table_lookup_extended
+ (*ln2cnt_map, layout_name, (gpointer *) & prev_layout_name,
+ &pcounter)) {
+ /* "next" same description */
+ gchar appendix[10] = "";
+ gint utf8length;
+ gunichar cidx;
+ counter = GPOINTER_TO_INT (pcounter);
+ /* Unicode subscript 2, 3, 4 */
+ cidx = 0x2081 + counter;
+ utf8length = g_unichar_to_utf8 (cidx, appendix);
+ appendix[utf8length] = '\0';
+ lbl_title = g_strconcat (layout_name, appendix, NULL);
+ } else {
+ /* "first" time this description */
+ lbl_title = g_strdup (layout_name);
+ }
+ g_hash_table_insert (*ln2cnt_map, layout_name,
+ GINT_TO_POINTER (counter + 1));
+ return lbl_title;
+}
+
static GtkWidget *
gkbd_indicator_prepare_drawing (GkbdIndicator * gki, int group)
{
@@ -331,96 +417,32 @@
G_CALLBACK (flag_exposed), image);
gtk_container_add (GTK_CONTAINER (ebox), flag);
} else {
- gpointer pcounter = NULL;
- char *prev_layout_name = NULL, **ppln;
char *lbl_title = NULL;
- int counter = 0;
char *layout_name = NULL;
GtkWidget *align, *label;
- /**
- * Map "short desciption" ->
- * number of layouts in the configuration
- * having this short description
- */
- static GHashTable *short_descrs = NULL;
-
- if (group == 0)
- short_descrs =
- g_hash_table_new_full (g_str_hash, g_str_equal,
- g_free, NULL);
-
-
- if (group < g_strv_length (globals.short_group_names)) {
- if (xkl_engine_get_features (globals.engine) &
- XKLF_MULTIPLE_LAYOUTS_SUPPORTED) {
- char *full_layout_name = (char *)
- g_slist_nth_data (globals.kbd_cfg.
- layouts_variants,
- group);
- char *variant_name;
- if (!gkbd_keyboard_config_split_items
- (full_layout_name, &layout_name,
- &variant_name))
- /* just in case */
- layout_name = full_layout_name;
-
- /* make it freeable */
- layout_name = g_strdup (layout_name);
-
- if (globals.short_group_names != NULL) {
- char *short_group_name =
- globals.short_group_names
- [group];
- if (short_group_name != NULL
- && *short_group_name != '\0') {
- /* drop the long name */
- g_free (layout_name);
- layout_name =
- g_strdup
- (short_group_name);
- }
- }
- } else {
- layout_name =
- g_strdup (globals.full_group_names
- [group]);
- }
- }
-
- if (layout_name == NULL)
- layout_name = g_strdup ("??");
+ static GHashTable *ln2cnt_map = NULL;
- /* Process layouts with repeating description */
- ppln = &prev_layout_name;
- if (g_hash_table_lookup_extended
- (short_descrs, layout_name,
- (gpointer *) ppln, &pcounter)) {
- /* "next" same description */
- gchar appendix[10] = "";
- gint utf8length;
- gunichar cidx;
- counter = GPOINTER_TO_INT (pcounter);
- /* Unicode subscript 2, 3, 4 */
- cidx = 0x2081 + counter;
- utf8length = g_unichar_to_utf8 (cidx, appendix);
- appendix[utf8length] = '\0';
- lbl_title =
- g_strconcat (layout_name, appendix, NULL);
- } else {
- /* "first" time this description */
- lbl_title = g_strdup (layout_name);
- }
- g_hash_table_insert (short_descrs, layout_name,
- GINT_TO_POINTER (counter + 1));
+ layout_name =
+ gkbd_indicator_extract_layout_name (group,
+ globals.engine,
+ &globals.kbd_cfg,
+ globals.short_group_names,
+ globals.full_group_names);
+
+ lbl_title =
+ gkbd_indicator_create_label_title (group,
+ &ln2cnt_map,
+ layout_name);
align = gtk_alignment_new (0.5, 0.5, 1.0, 1.0);
label = gtk_label_new (lbl_title);
g_free (lbl_title);
gtk_label_set_angle (GTK_LABEL (label), gki->priv->angle);
- if (group == xkl_engine_get_num_groups (globals.engine)) {
- g_hash_table_destroy (short_descrs);
- short_descrs = NULL;
+ if (group + 1 ==
+ xkl_engine_get_num_groups (globals.engine)) {
+ g_hash_table_destroy (ln2cnt_map);
+ ln2cnt_map = NULL;
}
gtk_container_add (GTK_CONTAINER (align), label);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libgnomekbd-2.30.0/libgnomekbd/gkbd-keyboard-config.c new/libgnomekbd-2.30.1/libgnomekbd/gkbd-keyboard-config.c
--- old/libgnomekbd-2.30.0/libgnomekbd/gkbd-keyboard-config.c 2010-03-29 00:14:54.000000000 +0200
+++ new/libgnomekbd-2.30.1/libgnomekbd/gkbd-keyboard-config.c 2010-04-24 02:21:08.000000000 +0200
@@ -141,7 +141,7 @@
return NULL;
strcat (buffer, parent);
}
- if (child != NULL) {
+ if (child != NULL && *child != 0) {
if (strlen (child) >= XKL_MAX_CI_NAME_LENGTH)
return NULL;
strcat (buffer, "\t");
@@ -518,6 +518,7 @@
XklConfigRec * data)
{
gboolean own_data = data == NULL;
+ xkl_debug(150, "Copying config from X(current)\n");
if (own_data)
data = xkl_config_rec_new ();
if (xkl_config_rec_get_from_server (data, kbd_config->engine))
@@ -536,6 +537,7 @@
XklConfigRec * data)
{
gboolean own_data = data == NULL;
+ xkl_debug(150, "Copying config from X(initial)\n");
if (own_data)
data = xkl_config_rec_new ();
if (xkl_config_rec_get_from_backup (data, kbd_config->engine))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libgnomekbd-2.30.0/libgnomekbd/gkbd-status.c new/libgnomekbd-2.30.1/libgnomekbd/gkbd-status.c
--- old/libgnomekbd-2.30.0/libgnomekbd/gkbd-status.c 2010-03-29 00:18:04.000000000 +0200
+++ new/libgnomekbd-2.30.1/libgnomekbd/gkbd-status.c 2010-04-17 03:09:30.000000000 +0200
@@ -43,7 +43,10 @@
gchar **full_group_names;
gchar **short_group_names;
- gint current_size;
+ gint current_width;
+ gint current_height;
+ int real_width;
+
GSList *icons; /* list of GdkPixbuf */
GSList *widget_instances; /* list of GkbdStatus */
gulong state_changed_handler;
@@ -122,12 +125,32 @@
gkbd_desktop_config_lock_next_group (&globals.cfg);
}
+/* hackish xref */
+extern gchar *gkbd_indicator_extract_layout_name (int group,
+ XklEngine * engine,
+ GkbdKeyboardConfig *
+ kbd_cfg,
+ gchar **
+ short_group_names,
+ gchar **
+ full_group_names);
+
+extern gchar *gkbd_indicator_create_label_title (int group,
+ GHashTable **
+ ln2cnt_map,
+ gchar * layout_name);
+
static void
gkbd_status_render_cairo (cairo_t * cr, int group)
{
- cairo_text_extents_t te;
- gchar *lbl = globals.short_group_names[group];
double r, g, b;
+ PangoFontDescription *pfd;
+ PangoContext *pcc;
+ PangoLayout *pl;
+ int lwidth, lheight;
+ gchar *layout_name, *lbl_title;
+ cairo_font_options_t *fo;
+ static GHashTable *ln2cnt_map = NULL;
if (globals.ind_cfg.background_color != NULL &&
globals.ind_cfg.background_color[0] != 0) {
@@ -135,8 +158,8 @@
(globals.ind_cfg.background_color, "%lg %lg %lg", &r,
&g, &b) == 3) {
cairo_set_source_rgb (cr, r, g, b);
- cairo_rectangle (cr, 0, 0, globals.current_size,
- globals.current_size);
+ cairo_rectangle (cr, 0, 0, globals.current_width,
+ globals.current_height);
cairo_fill (cr);
}
}
@@ -157,19 +180,65 @@
CAIRO_FONT_WEIGHT_NORMAL);
}
- if (globals.ind_cfg.font_size > 0) {
- cairo_set_font_size (cr, globals.ind_cfg.font_size);
+ pfd = pango_font_description_new ();
+ pango_font_description_set_family (pfd,
+ globals.ind_cfg.font_family);
+ pango_font_description_set_style (pfd, PANGO_STYLE_NORMAL);
+ pango_font_description_set_weight (pfd, PANGO_WEIGHT_NORMAL);
+ pango_font_description_set_size (pfd,
+ globals.ind_cfg.font_size *
+ PANGO_SCALE);
+
+ pcc = pango_cairo_create_context (cr);
+
+ fo = cairo_font_options_copy (gdk_screen_get_font_options
+ (gdk_screen_get_default ()));
+ /* SUBPIXEL antialiasing gives bad results on in-memory images */
+ if (cairo_font_options_get_antialias (fo) ==
+ CAIRO_ANTIALIAS_SUBPIXEL)
+ cairo_font_options_set_antialias (fo,
+ CAIRO_ANTIALIAS_GRAY);
+ pango_cairo_context_set_font_options (pcc, fo);
+
+ pl = pango_layout_new (pcc);
+
+ layout_name = gkbd_indicator_extract_layout_name (group,
+ globals.engine,
+ &globals.kbd_cfg,
+ globals.short_group_names,
+ globals.full_group_names);
+ lbl_title =
+ gkbd_indicator_create_label_title (group, &ln2cnt_map,
+ layout_name);
+
+ if (group + 1 == xkl_engine_get_num_groups (globals.engine)) {
+ g_hash_table_destroy (ln2cnt_map);
+ ln2cnt_map = NULL;
}
- cairo_text_extents (cr, lbl, &te);
- cairo_move_to (cr,
- (globals.current_size >> 1) - te.width / 2 -
- te.x_bearing,
- (globals.current_size >> 1) - te.height / 2 -
- te.y_bearing);
- cairo_show_text (cr, lbl);
+ pango_layout_set_text (pl, lbl_title, -1);
+
+ g_free (lbl_title);
+
+ pango_layout_set_font_description (pl, pfd);
+ pango_layout_get_size (pl, &lwidth, &lheight);
+ cairo_move_to (cr,
+ (globals.current_width - lwidth / PANGO_SCALE) / 2,
+ (globals.current_height -
+ lheight / PANGO_SCALE) / 2);
+
+ pango_cairo_show_layout (cr, pl);
+
+ pango_font_description_free (pfd);
+ g_object_unref (pl);
+ g_object_unref (pcc);
+ cairo_font_options_destroy (fo);
cairo_destroy (cr);
+
+ globals.real_width = (lwidth / PANGO_SCALE) + 4;
+ if (globals.real_width > globals.current_width)
+ globals.real_width = globals.current_width;
}
static inline guint8
@@ -180,27 +249,33 @@
static void
convert_bgra_to_rgba (guint8 const *src, guint8 * dst, int width,
- int height)
+ int height, int new_width)
{
- guint8 const *src_pixel = src;
- guint8 *dst_pixel = dst;
+ int xoffset = width - new_width;
+
+ /* *4 */
+ int ptr_step = xoffset << 2;
+
int x, y;
- for (y = 0; y < height; y++) {
- for (x = 0; x < width; x++) {
- dst_pixel[0] =
- convert_color_channel (src_pixel[2],
- src_pixel[3]);
- dst_pixel[1] =
- convert_color_channel (src_pixel[1],
- src_pixel[3]);
- dst_pixel[2] =
- convert_color_channel (src_pixel[0],
- src_pixel[3]);
- dst_pixel[3] = src_pixel[3];
+ /* / 2 * 4 */
+ src = src + ((xoffset >> 1) << 2);
- dst_pixel += 4;
- src_pixel += 4;
+ for (y = height; --y >= 0; src += ptr_step) {
+ for (x = new_width; --x >= 0;) {
+#if G_BYTE_ORDER == G_LITTLE_ENDIAN
+ dst[0] = convert_color_channel (src[2], src[3]);
+ dst[1] = convert_color_channel (src[1], src[3]);
+ dst[2] = convert_color_channel (src[0], src[3]);
+ dst[3] = src[3];
+#else
+ dst[0] = convert_color_channel (src[1], src[0]);
+ dst[1] = convert_color_channel (src[2], src[0]);
+ dst[2] = convert_color_channel (src[3], src[0]);
+ dst[3] = src[0];
+#endif
+ dst += 4;
+ src += 4;
}
}
}
@@ -212,7 +287,7 @@
char *image_filename;
GdkPixbuf *image;
- if (globals.current_size == 0)
+ if (globals.current_width == 0)
return NULL;
if (globals.ind_cfg.show_flags) {
@@ -223,8 +298,8 @@
group);
image = gdk_pixbuf_new_from_file_at_size (image_filename,
- globals.current_size,
- globals.current_size,
+ globals.current_width,
+ globals.current_height,
&gerror);
if (image == NULL) {
@@ -263,25 +338,25 @@
} else {
cairo_surface_t *cs =
cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
- globals.current_size,
- globals.current_size);
+ globals.current_width,
+ globals.current_height);
unsigned char *cairo_data;
guchar *pixbuf_data;
gkbd_status_render_cairo (cairo_create (cs), group);
cairo_data = cairo_image_surface_get_data (cs);
- pixbuf_data =
- g_new0 (guchar,
- 4 * globals.current_size *
- globals.current_size);
- convert_bgra_to_rgba (cairo_data, pixbuf_data,
- globals.current_size,
- globals.current_size);
-
#if 0
char pngfilename[20];
g_sprintf (pngfilename, "label%d.png", group);
cairo_surface_write_to_png (cs, pngfilename);
#endif
+ pixbuf_data =
+ g_new0 (guchar,
+ 4 * globals.real_width *
+ globals.current_height);
+ convert_bgra_to_rgba (cairo_data, pixbuf_data,
+ globals.current_width,
+ globals.current_height,
+ globals.real_width);
cairo_surface_destroy (cs);
@@ -289,9 +364,10 @@
GDK_COLORSPACE_RGB,
TRUE,
8,
- globals.current_size,
- globals.current_size,
- globals.current_size * 4,
+ globals.real_width,
+ globals.current_height,
+ globals.real_width *
+ 4,
(GdkPixbufDestroyNotify)
g_free, NULL);
xkl_debug (150,
@@ -532,8 +608,9 @@
static void
gkbd_status_size_changed (GkbdStatus * gki, gint size)
{
- if (globals.current_size != size) {
- globals.current_size = size;
+ if (globals.current_height != size) {
+ globals.current_height = size;
+ globals.current_width = size * 3 / 2;
gkbd_status_reinit_ui (gki);
}
}
@@ -589,6 +666,10 @@
"notify::gtk-font-name",
G_CALLBACK (gkbd_status_theme_changed),
gki);
+ g_signal_connect_after (gdk_screen_get_default (),
+ "notify::font-options",
+ G_CALLBACK (gkbd_status_theme_changed),
+ gki);
}
static void
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libgnomekbd-2.30.0/m4/libtool.m4 new/libgnomekbd-2.30.1/m4/libtool.m4
--- old/libgnomekbd-2.30.0/m4/libtool.m4 2010-03-29 00:22:37.000000000 +0200
+++ new/libgnomekbd-2.30.1/m4/libtool.m4 2010-04-24 02:38:41.000000000 +0200
@@ -2445,7 +2445,7 @@
;;
# This must be Linux ELF.
-linux* | k*bsd*-gnu)
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
version_type=linux
need_lib_prefix=no
need_version=no
@@ -3084,7 +3084,7 @@
;;
# This must be Linux ELF.
-linux* | k*bsd*-gnu)
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
lt_cv_deplibs_check_method=pass_all
;;
@@ -3705,7 +3705,7 @@
;;
esac
;;
- linux* | k*bsd*-gnu)
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
case $cc_basename in
KCC*)
# KAI C++ Compiler
@@ -3989,7 +3989,7 @@
_LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
;;
- linux* | k*bsd*-gnu)
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
case $cc_basename in
# old Intel for x86_64 which still supported -KPIC.
ecc*)
@@ -4285,6 +4285,7 @@
fi
supports_anon_versioning=no
case `$LD -v 2>&1` in
+ *GNU\ gold*) supports_anon_versioning=yes ;;
*\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
*\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
*\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
@@ -4376,7 +4377,7 @@
_LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
;;
- gnu* | linux* | tpf* | k*bsd*-gnu)
+ gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
tmp_diet=no
if test "$host_os" = linux-dietlibc; then
case $cc_basename in
@@ -5860,7 +5861,7 @@
_LT_TAGVAR(inherit_rpath, $1)=yes
;;
- linux* | k*bsd*-gnu)
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
case $cc_basename in
KCC*)
# Kuck and Associates, Inc. (KAI) C++ Compiler
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libgnomekbd-2.30.0/m4/ltversion.m4 new/libgnomekbd-2.30.1/m4/ltversion.m4
--- old/libgnomekbd-2.30.0/m4/ltversion.m4 2010-03-29 00:22:37.000000000 +0200
+++ new/libgnomekbd-2.30.1/m4/ltversion.m4 2010-04-24 02:38:41.000000000 +0200
@@ -9,15 +9,15 @@
# Generated from ltversion.in.
-# serial 3012 ltversion.m4
+# serial 3017 ltversion.m4
# This file is part of GNU Libtool
-m4_define([LT_PACKAGE_VERSION], [2.2.6])
-m4_define([LT_PACKAGE_REVISION], [1.3012])
+m4_define([LT_PACKAGE_VERSION], [2.2.6b])
+m4_define([LT_PACKAGE_REVISION], [1.3017])
AC_DEFUN([LTVERSION_VERSION],
-[macro_version='2.2.6'
-macro_revision='1.3012'
+[macro_version='2.2.6b'
+macro_revision='1.3017'
_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
_LT_DECL(, macro_revision, 0)
])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libgnomekbd-2.30.0/po/ca.po new/libgnomekbd-2.30.1/po/ca.po
--- old/libgnomekbd-2.30.0/po/ca.po 2010-03-29 00:14:54.000000000 +0200
+++ new/libgnomekbd-2.30.1/po/ca.po 2010-04-15 01:15:22.000000000 +0200
@@ -8,7 +8,7 @@
"Project-Id-Version: libgnomekbd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-03-23 23:25+0100\n"
-"PO-Revision-Date: 2010-03-22 00:34+0100\n"
+"PO-Revision-Date: 2010-04-02 18:35+0200\n"
"Last-Translator: Gil Forcada