summaryrefslogtreecommitdiff
path: root/src/nautilus-window-slot.c
diff options
context:
space:
mode:
authorAndrea Azzarone <andrea.azzarone@canonical.com>2019-03-14 19:11:08 +0000
committerCarlos Soriano <csoriano1618+gnome@gmail.com>2019-03-19 11:02:18 +0000
commit73876bdcdf2d0e5fe3513132770f06eddf9fd606 (patch)
tree349a0b35b3c185a376753eca440a594e8cd8023f /src/nautilus-window-slot.c
parent6114cb85855406a8cb0f339f5b0cfffca5789d95 (diff)
downloadnautilus-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.c7
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;
}