mirror of
https://gitlab.gnome.org/GNOME/nautilus
synced 2024-09-12 20:41:34 +00:00
Fixed mistake in recent bug fix.
This commit is contained in:
parent
0d911a35c0
commit
30433daf59
|
@ -1,3 +1,11 @@
|
|||
2000-03-09 John Sullivan <sullivan@eazel.com>
|
||||
|
||||
* libnautilus/nautilus-file.c:
|
||||
(nautilus_file_unref): Got this fix wrong last time, causing
|
||||
GTK-CRITICALs when deleting files. Remember file->is_gone
|
||||
before unreffing directory since you can't test possibly-destroyed
|
||||
file afterward.
|
||||
|
||||
2000-03-09 John Sullivan <sullivan@eazel.com>
|
||||
|
||||
* libnautilus/nautilus-directory-private.h:
|
||||
|
|
|
@ -148,6 +148,8 @@ nautilus_file_ref (NautilusFile *file)
|
|||
void
|
||||
nautilus_file_unref (NautilusFile *file)
|
||||
{
|
||||
gboolean goner;
|
||||
|
||||
g_return_if_fail (file != NULL);
|
||||
|
||||
g_assert (file->ref_count != 0);
|
||||
|
@ -158,11 +160,17 @@ nautilus_file_unref (NautilusFile *file)
|
|||
return;
|
||||
}
|
||||
|
||||
goner = file->is_gone;
|
||||
|
||||
/* No references left, so it's time to release our hold on the directory. */
|
||||
if (file->is_gone) {
|
||||
gtk_object_unref (GTK_OBJECT (file->directory));
|
||||
|
||||
if (goner) {
|
||||
/* Files that were deleted aren't referenced by the directory,
|
||||
* need to free it explicitly.
|
||||
*/
|
||||
nautilus_file_free (file);
|
||||
}
|
||||
gtk_object_unref (GTK_OBJECT (file->directory));
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -148,6 +148,8 @@ nautilus_file_ref (NautilusFile *file)
|
|||
void
|
||||
nautilus_file_unref (NautilusFile *file)
|
||||
{
|
||||
gboolean goner;
|
||||
|
||||
g_return_if_fail (file != NULL);
|
||||
|
||||
g_assert (file->ref_count != 0);
|
||||
|
@ -158,11 +160,17 @@ nautilus_file_unref (NautilusFile *file)
|
|||
return;
|
||||
}
|
||||
|
||||
goner = file->is_gone;
|
||||
|
||||
/* No references left, so it's time to release our hold on the directory. */
|
||||
if (file->is_gone) {
|
||||
gtk_object_unref (GTK_OBJECT (file->directory));
|
||||
|
||||
if (goner) {
|
||||
/* Files that were deleted aren't referenced by the directory,
|
||||
* need to free it explicitly.
|
||||
*/
|
||||
nautilus_file_free (file);
|
||||
}
|
||||
gtk_object_unref (GTK_OBJECT (file->directory));
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -148,6 +148,8 @@ nautilus_file_ref (NautilusFile *file)
|
|||
void
|
||||
nautilus_file_unref (NautilusFile *file)
|
||||
{
|
||||
gboolean goner;
|
||||
|
||||
g_return_if_fail (file != NULL);
|
||||
|
||||
g_assert (file->ref_count != 0);
|
||||
|
@ -158,11 +160,17 @@ nautilus_file_unref (NautilusFile *file)
|
|||
return;
|
||||
}
|
||||
|
||||
goner = file->is_gone;
|
||||
|
||||
/* No references left, so it's time to release our hold on the directory. */
|
||||
if (file->is_gone) {
|
||||
gtk_object_unref (GTK_OBJECT (file->directory));
|
||||
|
||||
if (goner) {
|
||||
/* Files that were deleted aren't referenced by the directory,
|
||||
* need to free it explicitly.
|
||||
*/
|
||||
nautilus_file_free (file);
|
||||
}
|
||||
gtk_object_unref (GTK_OBJECT (file->directory));
|
||||
}
|
||||
|
||||
void
|
||||
|
|
Loading…
Reference in a new issue