diff options
author | Nick Schermer <nickschermer@gmail.com> | 2009-01-02 11:30:34 +0000 |
---|---|---|
committer | Nick Schermer <nickschermer@gmail.com> | 2009-01-02 11:30:34 +0000 |
commit | 66ffe1a70f12acda3a487e8036fad452f374fb18 (patch) | |
tree | 5fbf32caf01dd0c961c2ca1e5ec4946ce2e29dd3 | |
parent | 9c6a25be13981831d6506efc6ff9506150dccb34 (diff) | |
download | garcon-66ffe1a70f12acda3a487e8036fad452f374fb18.tar.gz |
* libxfce4menu/xfce-menu-item-cache.c,
libxfce4menu/xfce-menu-separator.c: Add weak pointer to
XfceMenuItemCache and XfceMenuSeparator so you can init and shutdown
the library multiple times without running into trouble.
* NEWS: Update.
git-svn-id: https://svn.xfce.org/svn/xfce/libxfce4menu/trunk@29074 a0aa69c2-05f4-0310-b83c-d5d913b14636
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | NEWS | 5 | ||||
-rw-r--r-- | libxfce4menu/xfce-menu-item-cache.c | 6 | ||||
-rw-r--r-- | libxfce4menu/xfce-menu-separator.c | 5 |
4 files changed, 22 insertions, 2 deletions
@@ -1,3 +1,11 @@ +2009-01-02 Nick Schermer <nick@xfce.org> + + * libxfce4menu/xfce-menu-item-cache.c, + libxfce4menu/xfce-menu-separator.c: Add weak pointer to + XfceMenuItemCache and XfceMenuSeparator so you can init and shutdown + the library multiple times without running into trouble. + * NEWS: Update. + 2008-12-06 Jannis Pohlmann <jannis@xfce.org> * configure.in.in: Re-add svn version tag. @@ -1,3 +1,8 @@ +4.5.93 +====== +- Add weak pointers to the XfceMenuItemCache and XfceMenuSeparator objects + to you can run xfce_menu_init() and xfce_menu_shutdown() multiple times. + 4.5.92 ====== - Translations: ca, da, ku, nb_NO, sq, tr. diff --git a/libxfce4menu/xfce-menu-item-cache.c b/libxfce4menu/xfce-menu-item-cache.c index 3b5b5a7..85afa14 100644 --- a/libxfce4menu/xfce-menu-item-cache.c +++ b/libxfce4menu/xfce-menu-item-cache.c @@ -80,7 +80,10 @@ void _xfce_menu_item_cache_init (void) { if (G_LIKELY (_xfce_menu_item_cache == NULL)) - _xfce_menu_item_cache = g_object_new (XFCE_TYPE_MENU_ITEM_CACHE, NULL); + { + _xfce_menu_item_cache = g_object_new (XFCE_TYPE_MENU_ITEM_CACHE, NULL); + g_object_add_weak_pointer (G_OBJECT (_xfce_menu_item_cache), (gpointer) &_xfce_menu_item_cache); + } } @@ -90,6 +93,7 @@ _xfce_menu_item_cache_shutdown (void) { if (G_LIKELY (_xfce_menu_item_cache != NULL)) g_object_unref (G_OBJECT (_xfce_menu_item_cache)); + } diff --git a/libxfce4menu/xfce-menu-separator.c b/libxfce4menu/xfce-menu-separator.c index 443b9a0..8cdc3d8 100644 --- a/libxfce4menu/xfce-menu-separator.c +++ b/libxfce4menu/xfce-menu-separator.c @@ -45,7 +45,10 @@ void _xfce_menu_separator_init (void) { if (G_LIKELY (_xfce_menu_separator == NULL)) - _xfce_menu_separator = g_object_new (XFCE_TYPE_MENU_SEPARATOR, NULL); + { + _xfce_menu_separator = g_object_new (XFCE_TYPE_MENU_SEPARATOR, NULL); + g_object_add_weak_pointer (G_OBJECT (_xfce_menu_separator), (gpointer) &_xfce_menu_separator); + } } |