1. 20 Jan, 2016 1 commit
  2. 19 Jan, 2016 1 commit
  3. 18 Jan, 2016 3 commits
  4. 15 Jan, 2016 11 commits
    • Carlos Soriano Sánchez's avatar
    • Carlos Soriano Sánchez's avatar
    • Carlos Soriano Sánchez's avatar
      files-view: fix management when using internal model · e55ab26a
      Carlos Soriano Sánchez authored
      We were leaking it in these cases. But we need to make sure
      we don't free the directory if we are using the same as the
      internal one. So manage that in the load_directory as a generic
    • Carlos Soriano Sánchez's avatar
      files-view: make search robust · 63d0425a
      Carlos Soriano Sánchez authored
      This is the last patch of a series of patches to fix all the
      related issues with search synchronization, robustness on search, etc.
      This patch orders fix when the view is requested to load a search
      This is tricky because the views expect real locations, and when a
      caller sets the view to start searching the view expect to already have
      a real location loaded, so it can set the invented search directory with
      the model as a backing uri.
      In the case that window slot request a search directory, we are screwed,
      because either we load first the real backing uri, which will screw
      the window slot and all of the connected users of the view when the
      is-location signal is done, or we first set the query and then load the
      search directory, which will screw it anyway because the real location
      set up at that point in the view is not the one associated with the
      search directory.
      So we effectively need to do both at the same time.
      To do that, implement a set_search_query_internal which will allow us to
      pass a backing uri, so when the slot sets a location that is a search
      directory, instead of loading the directory itself, we only set the
      query indicating the real location behind, so it can set up everything
      in the search directory before loading it.
      This patch was done with a few things in mind, and it actually fixes
      few other issues. For example, now then we reuse the directory from the
      slot, we actually create a new search directory, so we actually don't
      reuse it. The point for this is because if we reuse the directory, any
      stop to the search directory will stop the future search that we just
      set. This happens when the slot stops the old view to load (which had
      the same search directory before this patch) after setting the new
      view to load.
      A better fix would be to get rid of the nautilus-search directory
      invention or to make it only internal, and make the window-slot be aware
      when a location was also searching (with a struct instead of using
    • Carlos Soriano Sánchez's avatar
      files-view: don't remove model when stoping view · 2d5ea4d4
      Carlos Soriano Sánchez authored
      So when searching, window-slot is able to get the location.
    • Carlos Soriano Sánchez's avatar
      window-slot: move cancel_location to stop_loading · 45db8703
      Carlos Soriano Sánchez authored
      Since now they are the same, just use the public api.
    • Carlos Soriano Sánchez's avatar
      window-slot: use cancel_change instead of end_change · 07fa5cdf
      Carlos Soriano Sánchez authored
      Nautilus slot ends any location change before starting a new
      one or when is done loading.
      The done loading signal is emitted when the view finalize to load
      a directory.
      However, when loading a new location, if the previous one was not
      finalized to load, nautilus was crashing, due to the is-loading signal
      in the view first emitting it for finalizing the previous location
      Then the callback of window slot was freeing the new_content_view,
      because this callback can be done when canceling a location change.
      However, at that time, the new_content_view is actually the one which
      is going to be used as a content view when we are just changing
      locations, for example, while searching.
      It's kind of strange that the callback of the view ending a load
      frees the new_content_view, since this is already managed by setup_view.
      And since we already have a cancel_location_change, we can use that
      on the majority of situations when we actually want to cancel a change,
      and let the end_location callback for the specific case of ending a load
      of the view.
      So now only the cancel_location_change frees the new_content_view, and
      we avoid a crash freeing the current view while loading it when changing
      This is the last patch of the series of patches to fix the crashing
      nautilus while searching.
    • Carlos Soriano Sánchez's avatar
      files-view: use explicit in_destruction boolean · 7d45760c
      Carlos Soriano Sánchez authored
      So we were relying on the model to be NULL to not update all
      the view widgets and details in the done_loading callback.
      However, we need the model alive so in the signal of is-loading
      emitted on the done_loading function, external objects can peek
      the model, etc. even in destruction time.
      So instead of setting the model as NULL on destroy and relying on it,
      use a explicit boolean to not update view widgets on destroy.
    • Carlos Soriano Sánchez's avatar
      files-view: disconnect leaked signals · 4d94a888
      Carlos Soriano Sánchez authored
      Even if we disconnect them on the subclasses, as long as we connect them
      here we should disconnect them as well.
    • Carlos Soriano Sánchez's avatar
      files-view: move disconnect_signal calls to destroy · a142e2ae
      Carlos Soriano Sánchez authored
      So we have all the disconnection in one place and we avoid
      random callbacks while destroying.
    • Carlos Soriano Sánchez's avatar
      files-view: use finalize instead of dispose · 180c26f9
      Carlos Soriano Sánchez authored
      Dispose is intended to let the object still valid for external
      Freeing the action group on dispose makes the view somehow invalid,
      so some calls were made at that time and were making the view to crash.
      This change to dispose was made in commit 347369d1 to fix a crash as
      well. However, an upcoming patch fixed it as well as noted in the
      commit message.
      So although dispose seemed good, it's not if it makes the object
      On the other hand, instead of dispose we should use destroy, since we
      are already using it, and implementing dispose was kind of an error.
      In upcoming patches we will move some disconnect_signal calls from
      finalized to destroy.
  5. 13 Jan, 2016 3 commits
  6. 12 Jan, 2016 2 commits
    • Razvan Chitu's avatar
      file-undo-manager: rename undo_redo_flag · 0a907637
      Razvan Chitu authored
      Nautilus undo manager previously relied on a stack-like implementation of its
      operating state. The stack operations (pushing and popping) were removed in a
      previous commit due to possible unexpected behavior and errors. The flag alone
      now has an inadequate name for what it represents.
      Rename the flag to "is_operating", since it is set when the manager is
      performing an undo / redo operation and unset otherwise. Rename the associated
      getter function accordingly.
    • Razvan Chitu's avatar
      file-undo-manager: handle undo_redo_flag internally · d52c5234
      Razvan Chitu authored
      Nautilus undo manager reuses undo information based on a flag that marks whether
      an undo / redo operation is currently being performed. Previously, the flag was
      managed both internally and externally. This proved to be unnecessary and even
      harmful, as it led to an unexpected behavior.
      Remove push and pop functions and handle the flag explicitly, at the start and
      at the end of an undo / redo operation. Replace external use of pop with the use
      of a getter function, also introduced in this patch.
  7. 11 Jan, 2016 2 commits
    • Carlos Soriano Sánchez's avatar
      thumbnails: avoid crash with jp2 images · 050d0312
      Carlos Soriano Sánchez authored
      When thumbnailing a directory with jp2 some times nautilus
      was crashing.
      However tests on gdk_pixbuf were successful and gnome-desktop-thumbnails
      generation tests were also working.
      Also, nautilus is using raw pthreads in the thumbnail generation
      code, and seems the crash was actually only happening when inside the
      pthread and when using gdk-pixbuf, not only the gnome-desktop-thumbnail.
      Looking at the implementation of glib in threads and nautilus, one of
      the differences is that nautilus sets a stack size.
      The crash is happening because, unluckely, libjasper with some big
      images is using more stack size than the one nautilus is setting, which
      leads to a crash in libjasper.
      To fix it, remove the stack size set by nautilus, similarly to what glib
      does, not setting an actual stack size.
      Obviously the right thing to do is rewrite nautilus code to use the
      glib threads, but I want to let that as a newcomer bug to do.
    • Dušan Kazik's avatar
      Updated Slovak translation · b734b74d
      Dušan Kazik authored and Administrator's avatar Administrator committed
  8. 10 Jan, 2016 2 commits
  9. 09 Jan, 2016 1 commit
  10. 08 Jan, 2016 1 commit
  11. 07 Jan, 2016 2 commits
  12. 06 Jan, 2016 1 commit
  13. 04 Jan, 2016 2 commits
  14. 03 Jan, 2016 1 commit
  15. 02 Jan, 2016 1 commit
  16. 01 Jan, 2016 1 commit
  17. 31 Dec, 2015 1 commit
  18. 24 Dec, 2015 4 commits