diff options
author | Marco Pesenti Gritti <marco@it.gnome.org> | 2003-01-09 21:03:55 +0800 |
---|---|---|
committer | Marco Pesenti Gritti <mpeseng@src.gnome.org> | 2003-01-09 21:03:55 +0800 |
commit | 7d278d4b5910d1adc5e075882aa559e8da407c4a (patch) | |
tree | 44d8ca418545e23c408b413548c5f8f710cdd6de /lib | |
parent | 05dc477f8e2a3943fd5eea73ae137cbcd544ce31 (diff) | |
download | gsoc2013-epiphany-7d278d4b5910d1adc5e075882aa559e8da407c4a.tar gsoc2013-epiphany-7d278d4b5910d1adc5e075882aa559e8da407c4a.tar.gz gsoc2013-epiphany-7d278d4b5910d1adc5e075882aa559e8da407c4a.tar.bz2 gsoc2013-epiphany-7d278d4b5910d1adc5e075882aa559e8da407c4a.tar.lz gsoc2013-epiphany-7d278d4b5910d1adc5e075882aa559e8da407c4a.tar.xz gsoc2013-epiphany-7d278d4b5910d1adc5e075882aa559e8da407c4a.tar.zst gsoc2013-epiphany-7d278d4b5910d1adc5e075882aa559e8da407c4a.zip |
Extend ephy node to allow some reversed ids. Use it for base
2003-01-09 Marco Pesenti Gritti <marco@it.gnome.org>
* TODO:
* embed/ephy-history.c: (ephy_history_init):
* embed/mozilla/FilePicker.cpp:
* lib/ephy-node.c: (ephy_node_new_with_id),
(ephy_node_system_init):
* lib/ephy-node.h:
* src/bookmarks/ephy-bookmarks.c: (ephy_bookmarks_init):
Extend ephy node to allow some reversed ids.
Use it for base bookmarks/history elements, should
fix bookmarks lossage.
Fix filepicker initialization.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/ephy-node.c | 22 | ||||
-rw-r--r-- | lib/ephy-node.h | 2 |
2 files changed, 22 insertions, 2 deletions
diff --git a/lib/ephy-node.c b/lib/ephy-node.c index b75df9349..c9ee9aa76 100644 --- a/lib/ephy-node.c +++ b/lib/ephy-node.c @@ -96,12 +96,14 @@ enum LAST_SIGNAL }; +#define RESERVED_IDS 10 + static GObjectClass *parent_class = NULL; static guint ephy_node_signals[LAST_SIGNAL] = { 0 }; static GMutex *id_factory_lock = NULL; -static long id_factory = 0; +static long id_factory = RESERVED_IDS; static GStaticRWLock *id_to_node_lock = NULL; static GPtrArray *id_to_node; @@ -392,6 +394,22 @@ ephy_node_new (void) return node; } +EphyNode * +ephy_node_new_with_id (gulong reserved_id) +{ + EphyNode *node; + + g_return_val_if_fail (reserved_id < RESERVED_IDS, NULL); + + node = EPHY_NODE (g_object_new (EPHY_TYPE_NODE, + "id", reserved_id, + NULL)); + + g_return_val_if_fail (node->priv != NULL, NULL); + + return node; +} + long ephy_node_get_id (EphyNode *node) { @@ -1367,7 +1385,7 @@ ephy_node_system_init (void) g_static_rw_lock_init (id_to_node_lock); /* id factory */ - id_factory = 0; + id_factory = RESERVED_IDS; id_factory_lock = g_mutex_new (); } diff --git a/lib/ephy-node.h b/lib/ephy-node.h index 2e5f92210..5a3413617 100644 --- a/lib/ephy-node.h +++ b/lib/ephy-node.h @@ -62,6 +62,8 @@ GType ephy_node_get_type (void); EphyNode *ephy_node_new (void); +EphyNode *ephy_node_new_with_id (gulong reserved_id); + /* unique node ID */ long ephy_node_get_id (EphyNode *node); |