diff options
author | Andrea Azzarone <andrea.azzarone@canonical.com> | 2019-03-14 19:11:08 +0000 |
---|---|---|
committer | Carlos Soriano <csoriano1618+gnome@gmail.com> | 2019-03-19 11:02:18 +0000 |
commit | 73876bdcdf2d0e5fe3513132770f06eddf9fd606 (patch) | |
tree | 349a0b35b3c185a376753eca440a594e8cd8023f /src/nautilus-window-slot.c | |
parent | 6114cb85855406a8cb0f339f5b0cfffca5789d95 (diff) | |
download | nautilus-73876bdcdf2d0e5fe3513132770f06eddf9fd606.tar.gz |
window-slot: Don't initialize extra widgets if content view is not yet set
The signal 'trash-state-changed' could be emitted by NautilusTrashMonitor while
a NautilusWindowSlot is still initializing the content view. In this case, don't
show/hide extra location widgets to avoid deferencing invalid memory. They will
be created anyway once the content view has been set.
Closes: https://gitlab.gnome.org/GNOME/nautilus/issues/890
Closes: https://gitlab.gnome.org/GNOME/nautilus/issues/862
Diffstat (limited to 'src/nautilus-window-slot.c')
-rw-r--r-- | src/nautilus-window-slot.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/nautilus-window-slot.c b/src/nautilus-window-slot.c index 7bec9a0d8..bf26cda3e 100644 --- a/src/nautilus-window-slot.c +++ b/src/nautilus-window-slot.c @@ -2696,10 +2696,15 @@ trash_state_changed_cb (NautilusTrashMonitor *monitor, { GFile *location; NautilusDirectory *directory; + NautilusView *view; location = nautilus_window_slot_get_current_location (user_data); + view = nautilus_window_slot_get_current_view (user_data); - if (location == NULL) + /* The signal 'trash-state-changed' could be emitted by NautilusTrashMonitor + * while a NautilusWindowSlot is still initializing the content view. + */ + if (location == NULL || view == NULL) { return; } |