[gnome-photos/gnome-3-26] application: Avoid CRITICALs when going to EDIT and PREVIEW
- From: Debarshi Ray <debarshir src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-photos/gnome-3-26] application: Avoid CRITICALs when going to EDIT and PREVIEW
- Date: Sun, 21 Jan 2018 19:06:18 +0000 (UTC)
commit 0ded49556c4c7ec3b8b78d051b466e4181b90386
Author: Debarshi Ray <debarshir gnome org>
Date: Thu Jan 18 18:07:15 2018 +0100
application: Avoid CRITICALs when going to EDIT and PREVIEW
There are no child BaseManagers for the EDIT and PREVIEW modes. Hence
it lead to:
CRITICAL **: photos_item_manager_get_for_mode: assertion
'mode != PHOTOS_WINDOW_MODE_PREVIEW' failed
Fallout from d5d28be0e85adaa521c11a0c05ee317c8a3a2a54
src/photos-application.c | 43 +++++++++++++++++++++++++++++++++++++------
1 file changed, 37 insertions(+), 6 deletions(-)
---
diff --git a/src/photos-application.c b/src/photos-application.c
index 468dc7c4..8b349712 100644
--- a/src/photos-application.c
+++ b/src/photos-application.c
@@ -1595,19 +1595,50 @@ photos_application_window_mode_changed (PhotosApplication *self, PhotosWindowMod
g_return_if_fail (mode != PHOTOS_WINDOW_MODE_NONE);
- if (old_mode != PHOTOS_WINDOW_MODE_NONE)
+ switch (old_mode)
{
+ case PHOTOS_WINDOW_MODE_NONE:
+ case PHOTOS_WINDOW_MODE_EDIT:
+ case PHOTOS_WINDOW_MODE_PREVIEW:
+ break;
+
+ case PHOTOS_WINDOW_MODE_COLLECTIONS:
+ case PHOTOS_WINDOW_MODE_FAVORITES:
+ case PHOTOS_WINDOW_MODE_OVERVIEW:
+ case PHOTOS_WINDOW_MODE_SEARCH:
item_mngr_chld = photos_item_manager_get_for_mode (PHOTOS_ITEM_MANAGER (self->state->item_mngr),
old_mode);
g_signal_handlers_disconnect_by_func (item_mngr_chld, photos_application_items_changed, self);
+ break;
+
+ default:
+ g_assert_not_reached ();
+ break;
}
photos_application_actions_update (self);
- item_mngr_chld = photos_item_manager_get_for_mode (PHOTOS_ITEM_MANAGER (self->state->item_mngr), mode);
- g_signal_connect_swapped (item_mngr_chld,
- "items-changed",
- G_CALLBACK (photos_application_items_changed),
- self);
+ switch (mode)
+ {
+ case PHOTOS_WINDOW_MODE_COLLECTIONS:
+ case PHOTOS_WINDOW_MODE_FAVORITES:
+ case PHOTOS_WINDOW_MODE_OVERVIEW:
+ case PHOTOS_WINDOW_MODE_SEARCH:
+ item_mngr_chld = photos_item_manager_get_for_mode (PHOTOS_ITEM_MANAGER (self->state->item_mngr), mode);
+ g_signal_connect_swapped (item_mngr_chld,
+ "items-changed",
+ G_CALLBACK (photos_application_items_changed),
+ self);
+ break;
+
+ case PHOTOS_WINDOW_MODE_EDIT:
+ case PHOTOS_WINDOW_MODE_PREVIEW:
+ break;
+
+ case PHOTOS_WINDOW_MODE_NONE:
+ default:
+ g_assert_not_reached ();
+ break;
+ }
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]