nautilus:wip/kabus/selection-crash

Last commit made on 2024-04-29
Get this branch:
git clone -b wip/kabus/selection-crash https://git.launchpad.net/nautilus

Branch merges

Branch information

Name:
wip/kabus/selection-crash
Repository:
lp:nautilus

Recent commits

21ece10... by Khalid Abu Shawarib

window-slot: Ignore usage of the same selection

This prevents a crash caused by nautilus_view_set_location()
eventually calling done_loading() in the view, applying and
freeing the selection before it's used again.

71a918e... by Khalid Abu Shawarib

file-operations: Fix zero length copy

8293b68... by Khalid Abu Shawarib

files-view: Fix heap overflow

Fix a heap overflow by designating data as a buffer instead of a
null terminated string and using g_memdup2() for copying.

c509b25... by Peter Eisenmann <email address hidden>

properties-window: only refresh model pages once

Rely on `properties_window_update` to initialize extension models.

ced6598... by Peter Eisenmann <email address hidden>

properties-window: don't free bound extension model

Keep the bound list of extension providers around while the properties
window is open.

Fixes https://gitlab.gnome.org/GNOME/nautilus/-/issues/3377

925a4c1... by Peter Eisenmann <email address hidden>

audio-video-properties: return early without discoverer

Without a correctly initialized GstDiscoverer, no locations can be
set, so return early if that is the case.

9298b7b... by =?utf-8?q?Ant=C3=B3nio_Fernandes?= <email address hidden>

file: Drop redundant callback

Unlike other preferences change callbacks, it doesn't do anything other
than asking to updating the cached setting value.

Also, it has an unamed and unused `gpointer` parameter, which is unusual.

7d470a4... by =?utf-8?q?Ant=C3=B3nio_Fernandes?= <email address hidden>

directory-async: Make callback matching more understandable

This function used to be unnecessarily long and complex, so it has been
simplified by commit e3052ab1c82ddb60eef59a432cc691706e520410

However, now it's too cryptic/obfuscated. This is partly dues to the
clash between boolean logic (`0` being FALSE) and the requirements of
g_list_find_custom() (`0` being a positive match). And partly because
of nested ternary operator, dereferencing a union, and unfortunate
naming (`callback` having double meaning).

To make the code easily readable and auditable by humans, let's break
up the comparisons and use explicit return value literals.

c4068e6... by =?utf-8?q?Ant=C3=B3nio_Fernandes?= <email address hidden>

general: Don't treat root directory as separator

This partially reverts commit c5216c47da5c5792b03df41aadd1190fac5a4823

G_DIR_SEPARATOR_S exists primarily as convenience to make GLib-based
code portable to Microsoft Windows, which is not relevant to this app.
We can still use it anyway when we want to be clear that a slash is
being used as a dir separator.

The root directory's path is "/". While that's the exact same character
as a directory separator, its meaning is completely different.

c1646b3... by =?utf-8?q?Ant=C3=B3nio_Fernandes?= <email address hidden>

Revert "window-slot: Remove unused property"

This reverts commit b75bd46f493cb756d0cb41c41e6929d70c8035a9.

While it's not used yet, it's going to be used by the FileChooser
portal implementation.