- Update to 2.91.1

- Remove obsolete patches
- Remove RPATH
This commit is contained in:
Richard Hughes 2010-10-06 16:55:29 +01:00
parent 6fa5b38d13
commit 028248d978
9 changed files with 18 additions and 441 deletions

1
.gitignore vendored
View File

@ -1,2 +1,3 @@
libgnomekbd-2.31.5.tar.bz2
/libgnomekbd-2.32.0.tar.bz2
/libgnomekbd-2.91.1.tar.bz2

View File

@ -1,282 +0,0 @@
From d1f0758a82776031184c73a8366d4bdca29e9bb9 Mon Sep 17 00:00:00 2001
From: Sergey V. Udaltsov <svu@gnome.org>
Date: Thu, 8 Oct 2009 22:42:47 +0100
Subject: [PATCH 1/2] Properly handle scenario when one keycode has multiple keys
https://bugzilla.gnome.org/show_bug.cgi?id=590954
---
ChangeLog | 6 ++
libgnomekbd/gkbd-keyboard-drawing.c | 109 ++++++++++++++++++++++-------------
libgnomekbd/gkbd-keyboard-drawing.h | 3 +
3 files changed, 77 insertions(+), 41 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 42189cd..574753e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2009-10-08 svu
+
+ * libgnomekbd/gkbd-keyboard-drawing.c,
+ libgnomekbd/gkbd-keyboard-drawing.h: properly handling keycodes with
+ multiple keys, https://bugzilla.gnome.org/show_bug.cgi?id=590954
+
2009-09-14 svu
* capplet/gkbd-indicator-plugins-capplet.c: fixing compiling on macos,
diff --git a/libgnomekbd/gkbd-keyboard-drawing.c b/libgnomekbd/gkbd-keyboard-drawing.c
index f02fb5e..da314d4 100644
--- a/libgnomekbd/gkbd-keyboard-drawing.c
+++ b/libgnomekbd/gkbd-keyboard-drawing.c
@@ -998,8 +998,8 @@ draw_key (GkbdKeyboardDrawingRenderContext * context,
if (key->pressed)
color =
- &(GTK_WIDGET (drawing)->
- style->base[GTK_STATE_SELECTED]);
+ &(GTK_WIDGET (drawing)->style->
+ base[GTK_STATE_SELECTED]);
else
color = drawing->colors + key->xkbkey->color_ndx;
@@ -1097,8 +1097,9 @@ invalidate_indicator_doodad_region (GkbdKeyboardDrawing * drawing,
doodad->doodad->indicator.left,
doodad->origin_y +
doodad->doodad->indicator.top,
- &drawing->xkb->geom->shapes[doodad->
- doodad->indicator.shape_ndx]);
+ &drawing->xkb->geom->shapes[doodad->doodad->
+ indicator.
+ shape_ndx]);
}
static void
@@ -1112,8 +1113,8 @@ invalidate_key_region (GkbdKeyboardDrawing * drawing,
key->angle,
key->origin_x,
key->origin_y,
- &drawing->xkb->geom->shapes[key->
- xkbkey->shape_ndx]);
+ &drawing->xkb->geom->shapes[key->xkbkey->
+ shape_ndx]);
}
static void
@@ -1265,7 +1266,11 @@ draw_keyboard_item (GkbdKeyboardDrawingItem * item,
return;
switch (item->type) {
+ case GKBD_KEYBOARD_DRAWING_ITEM_TYPE_INVALID:
+ break;
+
case GKBD_KEYBOARD_DRAWING_ITEM_TYPE_KEY:
+ case GKBD_KEYBOARD_DRAWING_ITEM_TYPE_KEY_EXTRA:
draw_key (context, drawing,
(GkbdKeyboardDrawingKey *) item);
break;
@@ -1345,8 +1350,8 @@ alloc_render_context (GkbdKeyboardDrawing * drawing)
pango_layout_set_ellipsize (context->layout, PANGO_ELLIPSIZE_END);
context->font_desc =
- pango_font_description_copy (GTK_WIDGET (drawing)->
- style->font_desc);
+ pango_font_description_copy (GTK_WIDGET (drawing)->style->
+ font_desc);
context->angle = 0;
context->scale_numerator = 1;
context->scale_denominator = 1;
@@ -1661,8 +1666,8 @@ init_keys_and_doodads (GkbdKeyboardDrawing * drawing)
drawing->xkb->geom->shapes +
xkbkey->shape_ndx;
guint keycode = find_keycode (drawing,
- xkbkey->
- name.name);
+ xkbkey->name.
+ name);
if (keycode == INVALID_KEYCODE)
continue;
@@ -1679,9 +1684,24 @@ init_keys_and_doodads (GkbdKeyboardDrawing * drawing)
if (keycode >= drawing->xkb->min_key_code
&& keycode <=
- drawing->xkb->max_key_code)
+ drawing->xkb->max_key_code) {
key = drawing->keys + keycode;
- else {
+ if (key->type ==
+ GKBD_KEYBOARD_DRAWING_ITEM_TYPE_INVALID)
+ {
+ key->type =
+ GKBD_KEYBOARD_DRAWING_ITEM_TYPE_KEY;
+ } else {
+ /* duplicate key for the same keycode,
+ already defined as GKBD_KEYBOARD_DRAWING_ITEM_TYPE_KEY */
+ key =
+ g_new0
+ (GkbdKeyboardDrawingKey,
+ 1);
+ key->type =
+ GKBD_KEYBOARD_DRAWING_ITEM_TYPE_KEY_EXTRA;
+ }
+ } else {
g_warning
("key %4.4s: keycode = %u; not in range %d..%d\n",
xkbkey->name.name, keycode,
@@ -1691,10 +1711,10 @@ init_keys_and_doodads (GkbdKeyboardDrawing * drawing)
key =
g_new0 (GkbdKeyboardDrawingKey,
1);
+ key->type =
+ GKBD_KEYBOARD_DRAWING_ITEM_TYPE_KEY_EXTRA;
}
- key->type =
- GKBD_KEYBOARD_DRAWING_ITEM_TYPE_KEY;
key->xkbkey = xkbkey;
key->angle = section->angle;
rotate_coordinate (section->left,
@@ -1758,9 +1778,8 @@ init_colors (GkbdKeyboardDrawing * drawing)
for (i = 0; i < drawing->xkb->geom->num_colors; i++) {
result =
- parse_xkb_color_spec (drawing->xkb->geom->
- colors[i].spec,
- drawing->colors + i);
+ parse_xkb_color_spec (drawing->xkb->geom->colors[i].
+ spec, drawing->colors + i);
if (!result)
g_warning
@@ -1780,19 +1799,15 @@ free_cdik ( /*colors doodads indicators keys */
for (itemp = drawing->keyboard_items; itemp; itemp = itemp->next) {
GkbdKeyboardDrawingItem *item = itemp->data;
- GkbdKeyboardDrawingKey *key;
switch (item->type) {
- case GKBD_KEYBOARD_DRAWING_ITEM_TYPE_DOODAD:
- g_free (item);
+ case GKBD_KEYBOARD_DRAWING_ITEM_TYPE_INVALID:
+ case GKBD_KEYBOARD_DRAWING_ITEM_TYPE_KEY:
break;
- case GKBD_KEYBOARD_DRAWING_ITEM_TYPE_KEY:
- key = (GkbdKeyboardDrawingKey *) item;
- if (key->keycode < drawing->xkb->min_key_code ||
- key->keycode > drawing->xkb->max_key_code)
- g_free (key);
- /* otherwise it's part of the array */
+ case GKBD_KEYBOARD_DRAWING_ITEM_TYPE_KEY_EXTRA:
+ case GKBD_KEYBOARD_DRAWING_ITEM_TYPE_DOODAD:
+ g_free (item);
break;
}
}
@@ -1863,8 +1878,8 @@ xkb_state_notify_event_filter (GdkXEvent * gdkxev,
for (i = 0;
i <=
- drawing->xkb->
- indicators->phys_indicators; i++)
+ drawing->xkb->indicators->
+ phys_indicators; i++)
if (drawing->physical_indicators[i]
!= NULL
&& (iev->changed & 1 << i)) {
@@ -1874,27 +1889,33 @@ xkb_state_notify_event_filter (GdkXEvent * gdkxev,
if ((state
&&
- !drawing->physical_indicators
+ !drawing->
+ physical_indicators
[i]->on) || (!state
&&
- drawing->physical_indicators
- [i]->on))
- {
- drawing->physical_indicators
+ drawing->
+ physical_indicators
+ [i]->
+ on)) {
+ drawing->
+ physical_indicators
[i]->on =
state;
create_cairo
(drawing);
draw_doodad
- (drawing->renderContext,
+ (drawing->
+ renderContext,
drawing,
- drawing->physical_indicators
+ drawing->
+ physical_indicators
[i]);
destroy_cairo
(drawing);
invalidate_indicator_doodad_region
(drawing,
- drawing->physical_indicators
+ drawing->
+ physical_indicators
[i]);
}
}
@@ -2135,9 +2156,15 @@ gkbd_keyboard_drawing_get_pixbuf (GkbdKeyboardDrawing * drawing)
return gdk_pixbuf_get_from_drawable (NULL, drawing->pixmap, NULL,
0, 0, 0, 0,
xkb_to_pixmap_coord (context,
- drawing->xkb->geom->width_mm),
+ drawing->
+ xkb->
+ geom->
+ width_mm),
xkb_to_pixmap_coord (context,
- drawing->xkb->geom->height_mm));
+ drawing->
+ xkb->
+ geom->
+ height_mm));
}
/**
@@ -2168,8 +2195,8 @@ gkbd_keyboard_drawing_render (GkbdKeyboardDrawing * drawing,
cr,
drawing->renderContext->angle,
layout,
- pango_font_description_copy (GTK_WIDGET (drawing)->
- style->font_desc),
+ pango_font_description_copy (GTK_WIDGET (drawing)->style->
+ font_desc),
1, 1,
&GTK_WIDGET (drawing)->style->dark[GTK_WIDGET_STATE
(GTK_WIDGET (drawing))]
diff --git a/libgnomekbd/gkbd-keyboard-drawing.h b/libgnomekbd/gkbd-keyboard-drawing.h
index 93f0fa7..c51a7f6 100644
--- a/libgnomekbd/gkbd-keyboard-drawing.h
+++ b/libgnomekbd/gkbd-keyboard-drawing.h
@@ -42,7 +42,9 @@ typedef struct _GkbdKeyboardDrawingRenderContext
GkbdKeyboardDrawingRenderContext;
typedef enum {
+ GKBD_KEYBOARD_DRAWING_ITEM_TYPE_INVALID = 0,
GKBD_KEYBOARD_DRAWING_ITEM_TYPE_KEY,
+ GKBD_KEYBOARD_DRAWING_ITEM_TYPE_KEY_EXTRA,
GKBD_KEYBOARD_DRAWING_ITEM_TYPE_DOODAD
} GkbdKeyboardDrawingItemType;
@@ -128,6 +130,7 @@ struct _GkbdKeyboardDrawing {
GkbdKeyboardDrawingRenderContext *renderContext;
+ /* Indexed by keycode */
GkbdKeyboardDrawingKey *keys;
/* list of stuff to draw in priority order */
--
1.6.5.rc2

View File

@ -1,40 +0,0 @@
From f152783de4f4dc82d757468dfc738d12390ffcbc Mon Sep 17 00:00:00 2001
From: Sergey V. Udaltsov <svu@gnome.org>
Date: Thu, 8 Oct 2009 22:52:42 +0100
Subject: [PATCH 2/2] Improved indicator background handling
https://bugzilla.gnome.org/show_bug.cgi?id=587510
---
ChangeLog | 3 +++
libgnomekbd/gkbd-indicator.c | 1 +
2 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 574753e..3d4a437 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,6 +3,9 @@
* libgnomekbd/gkbd-keyboard-drawing.c,
libgnomekbd/gkbd-keyboard-drawing.h: properly handling keycodes with
multiple keys, https://bugzilla.gnome.org/show_bug.cgi?id=590954
+ * libgnomekbd/gkbd-indicator.c: improved background handling by making
+ event box invisible
+ https://bugzilla.gnome.org/show_bug.cgi?id=587510
2009-09-14 svu
diff --git a/libgnomekbd/gkbd-indicator.c b/libgnomekbd/gkbd-indicator.c
index 0b43f85..2fb388a 100644
--- a/libgnomekbd/gkbd-indicator.c
+++ b/libgnomekbd/gkbd-indicator.c
@@ -217,6 +217,7 @@ gkbd_indicator_prepare_drawing (GkbdIndicator * gki, int group)
pimage = g_slist_nth_data (globals.ind_cfg.images, group);
ebox = gtk_event_box_new ();
+ gtk_event_box_set_visible_window (GTK_EVENT_BOX (ebox), FALSE);
if (globals.ind_cfg.show_flags) {
GtkWidget *flag;
if (pimage == NULL)
--
1.6.5.rc2

View File

@ -1,12 +0,0 @@
diff -up libgnomekbd-2.30.0/libgnomekbd/desktop_gnome_peripherals_keyboard_xkb.schemas.in.fontsize libgnomekbd-2.30.0/libgnomekbd/desktop_gnome_peripherals_keyboard_xkb.schemas.in
--- libgnomekbd-2.30.0/libgnomekbd/desktop_gnome_peripherals_keyboard_xkb.schemas.in.fontsize 2010-04-07 12:11:42.654534585 -0400
+++ libgnomekbd-2.30.0/libgnomekbd/desktop_gnome_peripherals_keyboard_xkb.schemas.in 2010-04-07 12:12:23.249030535 -0400
@@ -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>

View File

@ -1,12 +0,0 @@
diff -up libgnomekbd-2.29.92/libgnomekbd/gkbd-indicator-config.c.style-ref libgnomekbd-2.29.92/libgnomekbd/gkbd-indicator-config.c
--- libgnomekbd-2.29.92/libgnomekbd/gkbd-indicator-config.c.style-ref 2010-03-24 16:27:48.752881352 -0400
+++ libgnomekbd-2.29.92/libgnomekbd/gkbd-indicator-config.c 2010-03-24 16:28:07.675886171 -0400
@@ -174,8 +174,6 @@ gkbd_indicator_config_load_font_from_gco
green) / 0x10000,
((double) style->fg[GTK_STATE_NORMAL].
blue) / 0x10000);
-
- g_object_unref (style);
}
}

View File

@ -1,5 +1,5 @@
Name: libgnomekbd
Version: 2.32.0
Version: 2.91.1
Release: 1%{?dist}
Summary: A keyboard configuration library
@ -9,20 +9,13 @@ URL: http://gswitchit.sourceforge.net
# VCS: git:git://git.gnome.org/libgnomekbd
Source0: http://download.gnome.org/sources/libgnomekbd/2.32/libgnomekbd-%{version}.tar.bz2
BuildRequires: dbus-devel
BuildRequires: dbus-glib
BuildRequires: GConf2-devel
BuildRequires: gtk2-devel
BuildRequires: gtk3-devel > 2.90.0
BuildRequires: cairo-devel
BuildRequires: libxklavier-devel
BuildRequires: desktop-file-utils
BuildRequires: gettext
BuildRequires: intltool
Requires(pre): GConf2
Requires(post): GConf2
Requires(preun): GConf2
BuildRequires: chrpath
%description
The libgnomekbd package contains a GNOME library which manages
@ -57,6 +50,8 @@ of the keyboard indicator applet.
%build
%configure --disable-static --enable-compile-warnings=no
#sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
#sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
make %{?_smp_mflags}
@ -64,6 +59,9 @@ make %{?_smp_mflags}
make install DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p"
find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'
chrpath --delete $RPM_BUILD_ROOT%{_libdir}/libgnomekbdui.so.7.0.0
chrpath --delete $RPM_BUILD_ROOT%{_bindir}/gkbd-indicator-plugins-capplet
desktop-file-install --vendor gnome --delete-original \
--dir $RPM_BUILD_ROOT%{_datadir}/applications \
$RPM_BUILD_ROOT%{_datadir}/applications/gkbd-indicator-plugins-capplet.desktop
@ -75,15 +73,7 @@ desktop-file-install --vendor gnome --delete-original \
/sbin/ldconfig
%gconf_schema_upgrade desktop_gnome_peripherals_keyboard_xkb
touch --no-create %{_datadir}/icons/hicolor >&/dev/null || :
%pre
%gconf_schema_prepare desktop_gnome_peripherals_keyboard_xkb
%preun
%gconf_schema_remove desktop_gnome_peripherals_keyboard_xkb
glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :
%postun
/sbin/ldconfig
@ -91,6 +81,7 @@ if [ $1 -eq 0 ]; then
touch --no-create %{_datadir}/icons/hicolor >&/dev/null || :
gtk-update-icon-cache %{_datadir}/icons/hicolor >&/dev/null || :
fi
glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :
%posttrans
gtk-update-icon-cache %{_datadir}/icons/hicolor >&/dev/null || :
@ -99,8 +90,8 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor >&/dev/null || :
%defattr(-,root,root,-)
%doc AUTHORS COPYING.LIB
%{_libdir}/*.so.*
%{_sysconfdir}/gconf/schemas/*
%{_datadir}/libgnomekbd
%{_datadir}/glib-2.0/schemas/org.gnome.libgnomekbd*.gschema.xml
%files devel
%defattr(-,root,root,-)
@ -115,6 +106,11 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor >&/dev/null || :
%changelog
* Wed Oct 06 2010 Richard Hughes <rhughes@redhat.com> 2.91.1-1
- Update to 2.91.1
- Remove obsolete patches
- Remove RPATH
* Wed Sep 29 2010 Matthias Clasen <mclasen@redhat.com> 2.32.0-1
- Update to 2.32.0

View File

@ -1,12 +0,0 @@
diff -up libgnomekbd-2.27.2/libgnomekbd/gkbd-indicator.c.libxklavier4 libgnomekbd-2.27.2/libgnomekbd/gkbd-indicator.c
--- libgnomekbd-2.27.2/libgnomekbd/gkbd-indicator.c.libxklavier4 2009-06-30 16:54:39.781872916 -0400
+++ libgnomekbd-2.27.2/libgnomekbd/gkbd-indicator.c 2009-06-30 16:54:59.058123750 -0400
@@ -717,7 +717,7 @@ gkbd_indicator_global_init (void)
globals.registry =
xkl_config_registry_get_instance (globals.engine);
- xkl_config_registry_load (globals.registry);
+ xkl_config_registry_load (globals.registry, FALSE);
gconf_client = gconf_client_get_default ();

View File

@ -1,62 +0,0 @@
Index: libgnomekbd/gkbd-keyboard-config.c
===================================================================
--- libgnomekbd/gkbd-keyboard-config.c (revision 302)
+++ libgnomekbd/gkbd-keyboard-config.c (working copy)
@@ -325,7 +325,7 @@
{
GError *gerror = NULL;
gchar *pc;
- GSList *pl;
+ GSList *pl, *l;
pc = gconf_client_get_string (kbd_config->conf_client,
param_names[0], &gerror);
@@ -347,7 +347,7 @@
gkbd_keyboard_config_layouts_reset (kbd_config);
- pl = gconf_client_get_list (kbd_config->conf_client,
+ l = pl = gconf_client_get_list (kbd_config->conf_client,
param_names[1],
GCONF_VALUE_STRING, &gerror);
if (pl == NULL || gerror != NULL) {
@@ -359,17 +359,17 @@
}
}
- while (pl != NULL) {
- xkl_debug (150, "Loaded Kbd layout: [%s]\n", pl->data);
+ while (l != NULL) {
+ xkl_debug (150, "Loaded Kbd layout: [%s]\n", l->data);
gkbd_keyboard_config_layouts_add_full (kbd_config,
- pl->data);
- pl = pl->next;
+ l->data);
+ l = l->next;
}
gkbd_keyboard_config_string_list_reset (&pl);
gkbd_keyboard_config_options_reset (kbd_config);
- pl = gconf_client_get_list (kbd_config->conf_client,
+ l = pl = gconf_client_get_list (kbd_config->conf_client,
param_names[2],
GCONF_VALUE_STRING, &gerror);
if (pl == NULL || gerror != NULL) {
@@ -381,12 +381,12 @@
}
}
- while (pl != NULL) {
- xkl_debug (150, "Loaded Kbd option: [%s]\n", pl->data);
+ while (l != NULL) {
+ xkl_debug (150, "Loaded Kbd option: [%s]\n", l->data);
gkbd_keyboard_config_options_add_full (kbd_config,
- (const gchar *) pl->
+ (const gchar *) l->
data);
- pl = pl->next;
+ l = l->next;
}
gkbd_keyboard_config_string_list_reset (&pl);
}

View File

@ -1 +1 @@
de32a6e3e3464b566eecdc4332bf34bd libgnomekbd-2.32.0.tar.bz2
978889f6ba1da4cc304254f30a5d4058 libgnomekbd-2.91.1.tar.bz2