diff options
author | Mart Raudsepp <leio@gentoo.org> | 2008-03-21 12:38:11 +0000 |
---|---|---|
committer | Mart Raudsepp <leio@gentoo.org> | 2008-03-21 12:38:11 +0000 |
commit | ec5e6aacc4ae4ded1bc9f90f499c50b19d70471c (patch) | |
tree | 56ab77887dedfba120e432b5e58893016f7ac748 /x11-libs | |
parent | Stable on alpha, bug #213039 (diff) | |
download | gentoo-2-ec5e6aacc4ae4ded1bc9f90f499c50b19d70471c.tar.gz gentoo-2-ec5e6aacc4ae4ded1bc9f90f499c50b19d70471c.tar.bz2 gentoo-2-ec5e6aacc4ae4ded1bc9f90f499c50b19d70471c.zip |
New version for GNOME-2.22, with mostly bug fixes and code correctness improvements. Also apply patches from upstream for various viewport (compiz usage) related fixes
(Portage version: 2.1.4.4)
Diffstat (limited to 'x11-libs')
7 files changed, 334 insertions, 1 deletions
diff --git a/x11-libs/libwnck/ChangeLog b/x11-libs/libwnck/ChangeLog index 55603daef298..00f9967b4518 100644 --- a/x11-libs/libwnck/ChangeLog +++ b/x11-libs/libwnck/ChangeLog @@ -1,6 +1,18 @@ # ChangeLog for x11-libs/libwnck # Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/x11-libs/libwnck/ChangeLog,v 1.193 2008/02/04 04:18:24 jer Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-libs/libwnck/ChangeLog,v 1.194 2008/03/21 12:38:10 leio Exp $ + +*libwnck-2.22.0 (21 Mar 2008) + + 21 Mar 2008; Mart Raudsepp <leio@gentoo.org> + +files/2.22.0/001-logout-crash.patch, + +files/2.22.0/002-demands-attention-visibility-with-viewports.patch, + +files/2.22.0/003-Unstick-windows-when-moving-them-to-another-viewport.pat + ch, +files/2.22.0/004-Fix-moving-window-to-an-arbitrary-viewport.patch, + +files/2.22.0/005-gtk-doc-die-die-die.patch, +libwnck-2.22.0.ebuild: + New version for GNOME-2.22, with mostly bug fixes and code correctness + improvements. Also apply patches from upstream for various viewport (compiz + usage) related fixes 04 Feb 2008; Jeroen Roovers <jer@gentoo.org> libwnck-2.20.3.ebuild: Stable for HPPA (bug #208366). diff --git a/x11-libs/libwnck/files/2.22.0/001-logout-crash.patch b/x11-libs/libwnck/files/2.22.0/001-logout-crash.patch new file mode 100644 index 000000000000..a986fd663ec3 --- /dev/null +++ b/x11-libs/libwnck/files/2.22.0/001-logout-crash.patch @@ -0,0 +1,110 @@ +diff --git a/ChangeLog b/ChangeLog +index 2997448..622bce0 100644 +--- a/ChangeLog ++++ b/ChangeLog +@@ -1,3 +1,15 @@ ++2008-03-19 Vincent Untz <vuntz@gnome.org> ++ ++ Fix crash on logout because of some race condition. ++ Fix bug #517750 ++ ++ * libwnck/pager.c: (wnck_pager_connect_window): use g_signal_connect() ++ instead of g_signal_connect_object() since we'll disconnect the ++ handlers ++ (wnck_pager_disconnect_screen): disconnect signal handlers for all ++ windows ++ (wnck_pager_disconnect_window): helper function ++ + 2008-03-10 Vincent Untz <vuntz@gnome.org> + + * configure.in: +diff --git a/libwnck/pager.c b/libwnck/pager.c +index 9a615b6..c21c6e9 100644 +--- a/libwnck/pager.c ++++ b/libwnck/pager.c +@@ -174,6 +174,8 @@ static void wnck_pager_connect_screen (WnckPager *pager); + static void wnck_pager_connect_window (WnckPager *pager, + WnckWindow *window); + static void wnck_pager_disconnect_screen (WnckPager *pager); ++static void wnck_pager_disconnect_window (WnckPager *pager, ++ WnckWindow *window); + + static gboolean wnck_pager_set_layout_hint (WnckPager *pager); + +@@ -2415,27 +2417,28 @@ static void + wnck_pager_connect_window (WnckPager *pager, + WnckWindow *window) + { +- g_signal_connect_object (G_OBJECT (window), "name_changed", +- G_CALLBACK (window_name_changed_callback), +- pager, 0); +- g_signal_connect_object (G_OBJECT (window), "state_changed", +- G_CALLBACK (window_state_changed_callback), +- pager, 0); +- g_signal_connect_object (G_OBJECT (window), "workspace_changed", +- G_CALLBACK (window_workspace_changed_callback), +- pager, 0); +- g_signal_connect_object (G_OBJECT (window), "icon_changed", +- G_CALLBACK (window_icon_changed_callback), +- pager, 0); +- g_signal_connect_object (G_OBJECT (window), "geometry_changed", +- G_CALLBACK (window_geometry_changed_callback), +- pager, 0); ++ g_signal_connect (G_OBJECT (window), "name_changed", ++ G_CALLBACK (window_name_changed_callback), ++ pager); ++ g_signal_connect (G_OBJECT (window), "state_changed", ++ G_CALLBACK (window_state_changed_callback), ++ pager); ++ g_signal_connect (G_OBJECT (window), "workspace_changed", ++ G_CALLBACK (window_workspace_changed_callback), ++ pager); ++ g_signal_connect (G_OBJECT (window), "icon_changed", ++ G_CALLBACK (window_icon_changed_callback), ++ pager); ++ g_signal_connect (G_OBJECT (window), "geometry_changed", ++ G_CALLBACK (window_geometry_changed_callback), ++ pager); + } + + static void + wnck_pager_disconnect_screen (WnckPager *pager) + { + int i; ++ GList *tmp; + + if (pager->priv->screen == NULL) + return; +@@ -2458,6 +2461,32 @@ wnck_pager_disconnect_screen (WnckPager *pager) + space = wnck_screen_get_workspace (pager->priv->screen, i); + g_signal_handlers_disconnect_by_func (space, G_CALLBACK (workspace_name_changed_callback), pager); + } ++ ++ for (tmp = wnck_screen_get_windows (pager->priv->screen); tmp; tmp = tmp->next) ++ { ++ wnck_pager_disconnect_window (pager, WNCK_WINDOW (tmp->data)); ++ } ++} ++ ++static void ++wnck_pager_disconnect_window (WnckPager *pager, ++ WnckWindow *window) ++{ ++ g_signal_handlers_disconnect_by_func (G_OBJECT (window), ++ G_CALLBACK (window_name_changed_callback), ++ pager); ++ g_signal_handlers_disconnect_by_func (G_OBJECT (window), ++ G_CALLBACK (window_state_changed_callback), ++ pager); ++ g_signal_handlers_disconnect_by_func (G_OBJECT (window), ++ G_CALLBACK (window_workspace_changed_callback), ++ pager); ++ g_signal_handlers_disconnect_by_func (G_OBJECT (window), ++ G_CALLBACK (window_icon_changed_callback), ++ pager); ++ g_signal_handlers_disconnect_by_func (G_OBJECT (window), ++ G_CALLBACK (window_geometry_changed_callback), ++ pager); + } + + static void diff --git a/x11-libs/libwnck/files/2.22.0/002-demands-attention-visibility-with-viewports.patch b/x11-libs/libwnck/files/2.22.0/002-demands-attention-visibility-with-viewports.patch new file mode 100644 index 000000000000..820744f0f1d0 --- /dev/null +++ b/x11-libs/libwnck/files/2.22.0/002-demands-attention-visibility-with-viewports.patch @@ -0,0 +1,33 @@ +diff --git a/ChangeLog b/ChangeLog +index 622bce0..1e94451 100644 +--- a/ChangeLog ++++ b/ChangeLog +@@ -1,5 +1,13 @@ + 2008-03-19 Vincent Untz <vuntz@gnome.org> + ++ List windows that demands attention in the tasklist when they're in the ++ current workspace but they're not visible in the viewport. ++ Fix bug #520124 ++ ++ * libwnck/tasklist.c: (wnck_task_state_changed): just do it ++ ++2008-03-19 Vincent Untz <vuntz@gnome.org> ++ + Fix crash on logout because of some race condition. + Fix bug #517750 + +diff --git a/libwnck/tasklist.c b/libwnck/tasklist.c +index d687ee3..1d7e4df 100644 +--- a/libwnck/tasklist.c ++++ b/libwnck/tasklist.c +@@ -3397,7 +3397,9 @@ wnck_task_state_changed (WnckWindow *window, + wnck_screen_get_active_workspace (tasklist->priv->screen); + + if (active_workspace && +- active_workspace != wnck_window_get_workspace (window)) ++ (active_workspace != wnck_window_get_workspace (window) || ++ (wnck_workspace_is_virtual (active_workspace) && ++ !wnck_window_is_in_viewport (window, active_workspace)))) + { + wnck_tasklist_update_lists (tasklist); + gtk_widget_queue_resize (GTK_WIDGET (tasklist)); diff --git a/x11-libs/libwnck/files/2.22.0/003-Unstick-windows-when-moving-them-to-another-viewport.patch b/x11-libs/libwnck/files/2.22.0/003-Unstick-windows-when-moving-them-to-another-viewport.patch new file mode 100644 index 000000000000..24985cb453ac --- /dev/null +++ b/x11-libs/libwnck/files/2.22.0/003-Unstick-windows-when-moving-them-to-another-viewport.patch @@ -0,0 +1,80 @@ +diff --git a/ChangeLog b/ChangeLog +index 1e94451..b041087 100644 +--- a/ChangeLog ++++ b/ChangeLog +@@ -1,5 +1,15 @@ + 2008-03-19 Vincent Untz <vuntz@gnome.org> + ++ Unstick windows when moving them in another workspace (viewport mode), ++ else the windows are just outside the visible screen. ++ Fix bug #520704. ++ Patch by Travis Watkins <amaranth@ubuntu.com> ++ ++ * libwnck/window-action-menu.c: (item_activated_callback): well, do ++ what I already described ++ ++2008-03-19 Vincent Untz <vuntz@gnome.org> ++ + List windows that demands attention in the tasklist when they're in the + current workspace but they're not visible in the viewport. + Fix bug #520124 +diff --git a/libwnck/window-action-menu.c b/libwnck/window-action-menu.c +index 5921b9d..d0b34e0 100644 +--- a/libwnck/window-action-menu.c ++++ b/libwnck/window-action-menu.c +@@ -208,13 +208,13 @@ item_activated_callback (GtkWidget *menu_item, + if (!viewport_mode) + wnck_window_pin (window); + else +- wnck_window_stick(window); ++ wnck_window_stick (window); + break; + case UNPIN: + if (!viewport_mode) + wnck_window_unpin (window); + else +- wnck_window_unstick(window); ++ wnck_window_unstick (window); + break; + case LEFT: + if (!viewport_mode) +@@ -230,6 +230,7 @@ item_activated_callback (GtkWidget *menu_item, + + width = wnck_screen_get_width (screen); + wnck_window_get_geometry (window, &xw, &yw, &ww, &hw); ++ wnck_window_unstick (window); + wnck_window_set_geometry (window, 0, + WNCK_WINDOW_CHANGE_X | WNCK_WINDOW_CHANGE_Y, + xw - width, yw, +@@ -250,6 +251,7 @@ item_activated_callback (GtkWidget *menu_item, + + width = wnck_screen_get_width (screen); + wnck_window_get_geometry (window, &xw, &yw, &ww, &hw); ++ wnck_window_unstick (window); + wnck_window_set_geometry (window, 0, + WNCK_WINDOW_CHANGE_X | WNCK_WINDOW_CHANGE_Y, + xw + width, yw, +@@ -270,6 +272,7 @@ item_activated_callback (GtkWidget *menu_item, + + height = wnck_screen_get_height (screen); + wnck_window_get_geometry (window, &xw, &yw, &ww, &hw); ++ wnck_window_unstick (window); + wnck_window_set_geometry (window, 0, + WNCK_WINDOW_CHANGE_X | WNCK_WINDOW_CHANGE_Y, + xw, yw - height, +@@ -290,6 +293,7 @@ item_activated_callback (GtkWidget *menu_item, + + height = wnck_screen_get_height (screen); + wnck_window_get_geometry (window, &xw, &yw, &ww, &hw); ++ wnck_window_unstick (window); + wnck_window_set_geometry (window, 0, + WNCK_WINDOW_CHANGE_X | WNCK_WINDOW_CHANGE_Y, + xw, yw + height, +@@ -336,6 +340,7 @@ item_activated_callback (GtkWidget *menu_item, + xw += viewport_x; + yw += viewport_y; + ++ wnck_window_unstick (window); + wnck_window_set_geometry (window, 0, + WNCK_WINDOW_CHANGE_X | WNCK_WINDOW_CHANGE_Y, + xw + new_viewport_x, diff --git a/x11-libs/libwnck/files/2.22.0/004-Fix-moving-window-to-an-arbitrary-viewport.patch b/x11-libs/libwnck/files/2.22.0/004-Fix-moving-window-to-an-arbitrary-viewport.patch new file mode 100644 index 000000000000..0524b8e511c2 --- /dev/null +++ b/x11-libs/libwnck/files/2.22.0/004-Fix-moving-window-to-an-arbitrary-viewport.patch @@ -0,0 +1,39 @@ +diff --git a/ChangeLog b/ChangeLog +index b041087..e56cdfe 100644 +--- a/ChangeLog ++++ b/ChangeLog +@@ -1,5 +1,13 @@ + 2008-03-19 Vincent Untz <vuntz@gnome.org> + ++ Fix moving a window to an arbitrary workspace in viewport mode. ++ Fix bug #520726. ++ ++ * libwnck/window-action-menu.c: (item_activated_callback): get the ++ maths right. ++ ++2008-03-19 Vincent Untz <vuntz@gnome.org> ++ + Unstick windows when moving them in another workspace (viewport mode), + else the windows are just outside the visible screen. + Fix bug #520704. +diff --git a/libwnck/window-action-menu.c b/libwnck/window-action-menu.c +index d0b34e0..0e1108a 100644 +--- a/libwnck/window-action-menu.c ++++ b/libwnck/window-action-menu.c +@@ -337,14 +337,11 @@ item_activated_callback (GtkWidget *menu_item, + viewport_x = wnck_workspace_get_viewport_x (workspace); + viewport_y = wnck_workspace_get_viewport_y (workspace); + +- xw += viewport_x; +- yw += viewport_y; +- + wnck_window_unstick (window); + wnck_window_set_geometry (window, 0, + WNCK_WINDOW_CHANGE_X | WNCK_WINDOW_CHANGE_Y, +- xw + new_viewport_x, +- yw + new_viewport_y, ++ xw + new_viewport_x - viewport_x, ++ yw + new_viewport_y - viewport_y, + ww, hw); + } + break; diff --git a/x11-libs/libwnck/files/2.22.0/005-gtk-doc-die-die-die.patch b/x11-libs/libwnck/files/2.22.0/005-gtk-doc-die-die-die.patch new file mode 100644 index 000000000000..4bab59d986ce --- /dev/null +++ b/x11-libs/libwnck/files/2.22.0/005-gtk-doc-die-die-die.patch @@ -0,0 +1,26 @@ +--- gtk-doc.make 2008-01-14 21:07:04.000000000 -0800 ++++ gtk-doc.make 2008-01-14 21:15:30.000000000 -0800 +@@ -139,8 +139,9 @@ + done; \ + echo '-- Installing $(srcdir)/html/index.sgml' ; \ + $(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR) || :; \ +- which gtkdoc-rebase >/dev/null && \ ++ if test $(which gtkdoc-rebase 2> /dev/null) ; then \ + gtkdoc-rebase --relative --dest-dir=$(DESTDIR) --html-dir=$(DESTDIR)$(TARGET_DIR) ; \ ++ fi \ + fi + + +--- doc/Makefile.in 2008-01-14 21:59:37.000000000 -0800 ++++ doc/Makefile.in 2008-01-14 22:01:06.000000000 -0800 +@@ -569,8 +569,9 @@ + done; \ + echo '-- Installing $(srcdir)/html/index.sgml' ; \ + $(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR) || :; \ +- which gtkdoc-rebase >/dev/null && \ ++ if test $(which gtkdoc-rebase 2> /dev/null) ; then \ + gtkdoc-rebase --relative --dest-dir=$(DESTDIR) --html-dir=$(DESTDIR)$(TARGET_DIR) ; \ ++ fi \ + fi + + uninstall-local: diff --git a/x11-libs/libwnck/libwnck-2.22.0.ebuild b/x11-libs/libwnck/libwnck-2.22.0.ebuild new file mode 100644 index 000000000000..f7cc0ab8929b --- /dev/null +++ b/x11-libs/libwnck/libwnck-2.22.0.ebuild @@ -0,0 +1,33 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-libs/libwnck/libwnck-2.22.0.ebuild,v 1.1 2008/03/21 12:38:10 leio Exp $ + +inherit gnome2 eutils + +DESCRIPTION="A window navigation construction kit" +HOMEPAGE="http://www.gnome.org/" + +LICENSE="LGPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd" +IUSE="doc" + +RDEPEND=">=x11-libs/gtk+-2.11.3 + >=dev-libs/glib-2.13.0 + >=x11-libs/startup-notification-0.4 + x11-libs/libX11 + x11-libs/libXres + x11-libs/libXext" +DEPEND="${RDEPEND} + sys-devel/gettext + >=dev-util/pkgconfig-0.9 + >=dev-util/intltool-0.35 + doc? ( >=dev-util/gtk-doc-1.9 )" + +DOCS="AUTHORS ChangeLog HACKING NEWS README" + +src_unpack() { + gnome2_src_unpack + + EPATCH_SUFFIX="patch" EPATCH_FORCE="yes" epatch "${FILESDIR}/${PV}/" +} |