[devhelp] BookManager: remove book from list *before* sending ::book-deleted
- From: Sébastien Wilmet <swilmet src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [devhelp] BookManager: remove book from list *before* sending ::book-deleted
- Date: Fri, 6 Apr 2018 16:10:46 +0000 (UTC)
commit 07a34cd2e12c6984b7b606d24f523b08b391ba34
Author: Sébastien Wilmet <swilmet gnome org>
Date: Fri Apr 6 17:53:12 2018 +0200
BookManager: remove book from list *before* sending ::book-deleted
It is more logical in that order. Ideally there should be a vfunc and it would
be the object method handler which removes the DhBook from the list (since it's
a G_SIGNAL_RUN_LAST signal). But I'm planning to refactor DhBookManager soon
with DhBookSelection, so it is not worth it.
Before commit f36eed21b8f14b09df23fbb4488b29cc63e781bb everything was
fine I think in the Devhelp application.
commit f36eed21b8f14b09df23fbb4488b29cc63e781bb changed DhPreferences
and calls dh_book_manager_get_books() inside its ::book-deleted handler.
So there was a bug. It is now fixed.
devhelp/dh-book-manager.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
---
diff --git a/devhelp/dh-book-manager.c b/devhelp/dh-book-manager.c
index 69c5ef6..813a880 100644
--- a/devhelp/dh-book-manager.c
+++ b/devhelp/dh-book-manager.c
@@ -283,12 +283,13 @@ remove_book (DhBookManager *book_manager,
node = g_list_find (priv->books, book);
if (node != NULL) {
+ priv->books = g_list_delete_link (priv->books, node);
+
g_signal_emit (book_manager,
signals[SIGNAL_BOOK_DELETED],
0,
book);
- priv->books = g_list_delete_link (priv->books, node);
g_object_unref (book);
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]