After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 350988 - crash with File Open in non-exisiting directory
crash with File Open in non-exisiting directory
Status: RESOLVED FIXED
Product: gtk+
Classification: Platform
Component: Widget: GtkFileChooser
2.10.x
Other Linux
: High critical
: ---
Assigned To: gtk-bugs
Federico Mena Quintero
: 351666 355997 361323 363630 364512 367015 367369 367817 368773 368859 368888 369429 370218 371717 371964 372255 375311 376279 376329 377604 377868 378181 378654 378752 379355 379772 379890 379984 380001 380013 380172 380560 380652 385066 385463 385582 385606 385997 386071 386751 387259 387263 388036 388643 388677 390719 390721 392923 393399 393609 394374 394580 394656 394952 395517 396615 396644 397233 397245 397271 398341 399235 399409 399410 399987 403993 408124 408675 408955 409804 412311 412406 412858 413712 416803 417796 420016 423318 423719 424081 425851 425954 426820 427142 428364 429381 429916 430622 430778 430895 430998 432053 432693 433194 433197 433206 433207 433228 433257 434002 434746 434757 434768 434803 434819 435691 436009 436256 436264 436266 436295 436302 436344 439690 440096 442820 444296 444339 444344 449161 451134 451876 452167 452504 452777 452778 453293 455318 459795 460492 463922 465269 469672 476210 476469 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2006-08-12 00:53 UTC by Benjamin Otte (Company)
Modified: 2007-09-13 09:51 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Test case (1.00 KB, text/plain)
2006-08-13 17:32 UTC, Chris Wilson
Details

Description Benjamin Otte (Company) 2006-08-12 00:53:50 UTC
1) set the GConf key "/apps/epiphany/directories/open" to "/does/not/exist"
2) open epiphany
3) select File/Open
4) click "ok" to discard the warning that the given path does not exist
5) enter something (I used "/usr") into the location entry and press return.
6) *boom*

  • #0 raise
    from /lib/tls/libc.so.6
  • #1 abort
    from /lib/tls/libc.so.6
  • #2 IA__g_logv
  • #3 IA__g_log
  • #4 IA__g_assert_warning
    at gmessages.c line 552
  • #5 gtk_file_chooser_default_should_respond
    at gtkfilechooserdefault.c line 7570
  • #6 _gtk_file_chooser_embed_should_respond
    at gtkfilechooserembed.c line 200
  • #7 delegate_should_respond
    at gtkfilechooserembed.c line 111
  • #8 _gtk_file_chooser_embed_should_respond
    at gtkfilechooserembed.c line 200
  • #9 response_cb
    at gtkfilechooserdialog.c line 550
  • #10 IA__g_cclosure_marshal_VOID__INT
    at gmarshal.c line 216
  • #11 IA__g_closure_invoke
    at gclosure.c line 490
  • #12 signal_emit_unlocked_R
    at gsignal.c line 2438
  • #13 IA__g_signal_emit_valist
    at gsignal.c line 2197
  • #14 IA__g_signal_emit
    at gsignal.c line 2241
  • #15 IA__gtk_dialog_response
    at gtkdialog.c line 835
  • #16 action_widget_activated
    at gtkdialog.c line 534
  • #17 IA__g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 77
  • #18 IA__g_closure_invoke
    at gclosure.c line 490
  • #19 signal_emit_unlocked_R
    at gsignal.c line 2438
  • #20 IA__g_signal_emit_valist
    at gsignal.c line 2197
  • #21 IA__g_signal_emit
    at gsignal.c line 2241
  • #22 IA__gtk_button_clicked
    at gtkbutton.c line 889
  • #23 gtk_button_finish_activate
    at gtkbutton.c line 1557
  • #24 gtk_button_key_release
    at gtkbutton.c line 1414
  • #25 _gtk_marshal_BOOLEAN__BOXED
    at gtkmarshalers.c line 83
  • #26 g_type_class_meta_marshal
    at gclosure.c line 567
  • #27 IA__g_closure_invoke
    at gclosure.c line 490
  • #28 signal_emit_unlocked_R
    at gsignal.c line 2476
  • #29 IA__g_signal_emit_valist
    at gsignal.c line 2207
  • #30 IA__g_signal_emit
    at gsignal.c line 2241
  • #31 gtk_widget_event_internal
    at gtkwidget.c line 3901
  • #32 IA__gtk_widget_event
    at gtkwidget.c line 3707
  • #33 IA__gtk_propagate_event
    at gtkmain.c line 2153
  • #34 IA__gtk_main_do_event
    at gtkmain.c line 1421
  • #35 gdk_event_dispatch
    at gdkevents-x11.c line 2319
  • #36 g_main_dispatch
    at gmain.c line 2043
  • #37 IA__g_main_context_dispatch
    at gmain.c line 2594
  • #38 g_main_context_iterate
    at gmain.c line 2675
  • #39 IA__g_main_loop_run
    at gmain.c line 2879
  • #40 IA__gtk_main
    at gtkmain.c line 1000
  • #41 main

This is with Debian sid's Epiphany 2.14 and Gtk CVS.
I assume it's a Gtk bug but I'm not sure.
Comment 1 Christian Persch 2006-08-12 09:07:01 UTC
Bug in gtkfilechooserdialog or gtkfilechooserbutton; re-assigning.
Comment 2 Chris Wilson 2006-08-13 17:17:32 UTC
Ok, I'm in way over my head here ;) The issue appears to be that the pending selection from gtk_file_chooser_set_filename is applied after the failed directory change. A second issue appears to be that the gtk_file_system_model->flags==GTK_TREE_MODEL_PERSIST is a lie. Excuse the slight futz...


Index: gtkfilechooserdefault.c
===================================================================
RCS file: /cvs/gnome/gtk+/gtk/gtkfilechooserdefault.c,v
retrieving revision 1.328
diff -u -p -r1.328 gtkfilechooserdefault.c
--- gtkfilechooserdefault.c     18 Jul 2006 16:36:16 -0000      1.328
+++ gtkfilechooserdefault.c     13 Aug 2006 17:00:28 -0000
@@ -6254,6 +6250,8 @@ gtk_file_chooser_default_update_current_
   if (impl->update_current_folder_handle)
     gtk_file_system_cancel_operation (impl->update_current_folder_handle);
 
+  pending_select_paths_free (impl);
+
   /* Test validity of path here.  */
   data = g_new0 (struct UpdateCurrentFolderData, 1);
   data->impl = impl;
@@ -6333,6 +6331,7 @@ gtk_file_chooser_default_select_path (Gt
   GtkFileChooserDefault *impl = GTK_FILE_CHOOSER_DEFAULT (chooser);
   GtkFilePath *parent_path;
   gboolean same_path;
   /* Test validity of path here.  */
   data = g_new0 (struct UpdateCurrentFolderData, 1);
   data->impl = impl;
@@ -6333,6 +6331,7 @@ gtk_file_chooser_default_select_path (Gt
   GtkFileChooserDefault *impl = GTK_FILE_CHOOSER_DEFAULT (chooser);
   GtkFilePath *parent_path;
   gboolean same_path;
+  gboolean result;
 
   if (!gtk_file_system_get_parent (impl->file_system, path, &parent_path, error))
     return FALSE;
@@ -6349,32 +6348,25 @@ gtk_file_chooser_default_select_path (Gt
       same_path = gtk_file_path_compare (parent_path, impl->current_folder) == 0;
     }
 
+  result = TRUE;
   if (same_path && impl->load_state == LOAD_FINISHED)
     {
-      gboolean result;
       GSList paths;
 
       paths.data = (gpointer) path;
       paths.next = NULL;
 
       result = show_and_select_paths (impl, parent_path, &paths, error);
-      gtk_file_path_free (parent_path);
-      return result;
     }
-
-  pending_select_paths_add (impl, path);
-
-  if (!same_path)
+  else
     {
-      gboolean result;
-
-      result = _gtk_file_chooser_set_current_folder_path (chooser, parent_path, error);
-      gtk_file_path_free (parent_path);
-      return result;
+      if (!same_path)
+       result = _gtk_file_chooser_set_current_folder_path (chooser, parent_path, error);
+      pending_select_paths_add (impl, path);
     }
 
   gtk_file_path_free (parent_path);
-  return TRUE;
+  return result;
 }
 
 static void
Index: gtkfilesystemmodel.c
===================================================================
RCS file: /cvs/gnome/gtk+/gtk/gtkfilesystemmodel.c,v
retrieving revision 1.45
diff -u -p -r1.45 gtkfilesystemmodel.c
--- gtkfilesystemmodel.c        14 May 2006 04:25:29 -0000      1.45
+++ gtkfilesystemmodel.c        13 Aug 2006 17:07:32 -0000
@@ -258,7 +258,7 @@ static GtkTreeModelFlags
 gtk_file_system_model_get_flags (GtkTreeModel *tree_model)
 {
   GtkFileSystemModel *model = GTK_FILE_SYSTEM_MODEL (tree_model);
-  GtkTreeModelFlags flags = GTK_TREE_MODEL_ITERS_PERSIST;
+  GtkTreeModelFlags flags = 0; //GTK_TREE_MODEL_ITERS_PERSIST;
 
   if (model->max_depth == 0)
     flags |= GTK_TREE_MODEL_LIST_ONLY;
Comment 3 Chris Wilson 2006-08-13 17:32:56 UTC
Created attachment 70828 [details]
Test case

Note this does not entirely replicate the described problem but it does trigger assertions and a segfault.
Comment 4 Federico Mena Quintero 2006-08-30 15:57:02 UTC
*** Bug 351666 has been marked as a duplicate of this bug. ***
Comment 5 Federico Mena Quintero 2006-08-30 16:01:06 UTC
Thanks for the patch!  I'll CC Kris, since he is working on this.

Kris, can you please test Chris's patch?

Chris, why do you say that ITERS_PERSIST is a lie?  The file chooser model goes through quite a bit of pain to ensure that its iters persist.  Where is this violated?
Comment 6 Chris Wilson 2006-08-30 19:18:19 UTC
I observed instances where gtk_file_chooser_set_filename("/proc/self/exe") caused the GtkFileChooserButton to select a random file in the /proc/self directory. I attributed this to the search model caching iters across folder changes and clearing ITERS_PERSIST fixed the misbehaviour.

However, I am unable to reproduce such behaviour now, so it was most likely a local side-effect when playing with the code.

Instead, I have another oddity:
the GtkFileChooserButton does not update its label unless the warning dialog for missing file in the other button.

ie
FileChooserButton("/proc/self/exe"): no label
2xFileChooserButton("/proc/self/exe"): no label FileChooserButton("/proc/self/exe")+FileChooserButton("/no/such/file"): label

This is most definitely a side-effect of the above patch.
Comment 7 Karsten Bräckelmann 2006-09-14 18:29:13 UTC
*** Bug 355997 has been marked as a duplicate of this bug. ***
Comment 8 Sebastien Bacher 2006-09-17 10:03:04 UTC
Ubuntu bug about that: https://launchpad.net/distros/ubuntu/+source/inkscape/+bug/59058
Comment 9 Matthias Clasen 2006-10-02 04:46:20 UTC
I belive this was fixed by 

2006-09-04  Kristian Rietveld  <kris@imendio.com>

	Merged from HEAD:

	* gtk/gtkfilechooserdefault.c (update_current_folder_get_info_cb):
	if setting the given folder failed, try setting the parent folder
	until we succeed; display an error box at the end.


At least the testcase in comment #3 does not crash for me.
Comment 10 Karsten Bräckelmann 2006-10-11 02:51:20 UTC
*** Bug 361323 has been marked as a duplicate of this bug. ***
Comment 11 Karsten Bräckelmann 2006-10-20 11:54:02 UTC
*** Bug 363630 has been marked as a duplicate of this bug. ***
Comment 12 Karsten Bräckelmann 2006-10-23 19:47:11 UTC
*** Bug 364512 has been marked as a duplicate of this bug. ***
Comment 13 Jean-François Rameau 2006-10-29 18:06:08 UTC
*** Bug 367015 has been marked as a duplicate of this bug. ***
Comment 14 Christian Kirbach 2006-10-30 17:31:43 UTC
*** Bug 367369 has been marked as a duplicate of this bug. ***
Comment 15 Christian Kirbach 2006-10-30 17:33:22 UTC
last duplicate is gtk+ 2.10.6 that should contain the fix, as comment #9 implies.

Matthias?
Comment 16 Karsten Bräckelmann 2006-10-31 18:27:38 UTC
*** Bug 367817 has been marked as a duplicate of this bug. ***
Comment 17 André Klapper 2006-11-01 10:47:19 UTC
*** Bug 368773 has been marked as a duplicate of this bug. ***
Comment 18 Karsten Bräckelmann 2006-11-01 14:13:20 UTC
*** Bug 368859 has been marked as a duplicate of this bug. ***
Comment 19 Paolo Maggi 2006-11-01 15:42:33 UTC
*** Bug 368888 has been marked as a duplicate of this bug. ***
Comment 20 Paolo Maggi 2006-11-01 15:45:07 UTC
It seems 2.10.6 still have this crash (at least according to simple-dup-finder).
Comment 21 Karsten Bräckelmann 2006-11-02 17:39:49 UTC
*** Bug 369429 has been marked as a duplicate of this bug. ***
Comment 22 Karsten Bräckelmann 2006-11-03 21:41:01 UTC
*** Bug 370218 has been marked as a duplicate of this bug. ***
Comment 23 Karsten Bräckelmann 2006-11-06 21:37:00 UTC
*** Bug 371717 has been marked as a duplicate of this bug. ***
Comment 24 Karsten Bräckelmann 2006-11-07 19:54:48 UTC
*** Bug 371964 has been marked as a duplicate of this bug. ***
Comment 25 Kevin Kubasik 2006-11-07 23:25:44 UTC
*** Bug 372255 has been marked as a duplicate of this bug. ***
Comment 26 Paolo Maggi 2006-11-15 13:36:35 UTC
*** Bug 375311 has been marked as a duplicate of this bug. ***
Comment 27 Reinout van Schouwen 2006-11-24 13:39:58 UTC
*** Bug 378654 has been marked as a duplicate of this bug. ***
Comment 28 Christian Kirbach 2006-11-26 11:09:01 UTC
perhaps we were tricked by our simple-dup-finder script. the original trace asserts in gtk_file_chooser_default_should_respond() while many duplicates (at least the last two and mine) assert in gtk_file_chooser_default_new()

However e.g. Frederico duped them to this one as well
Reopening

Matthias? Frederico?
Comment 29 Christian Kirbach 2006-11-26 11:10:00 UTC
*** Bug 378752 has been marked as a duplicate of this bug. ***
Comment 30 Christian Kirbach 2006-11-26 11:10:25 UTC
*** Bug 379355 has been marked as a duplicate of this bug. ***
Comment 31 Yanko Kaneti 2006-11-28 04:28:02 UTC
*** Bug 380013 has been marked as a duplicate of this bug. ***
Comment 32 Yanko Kaneti 2006-11-28 04:28:28 UTC
*** Bug 380001 has been marked as a duplicate of this bug. ***
Comment 33 Yanko Kaneti 2006-11-28 04:28:59 UTC
*** Bug 378181 has been marked as a duplicate of this bug. ***
Comment 34 Yanko Kaneti 2006-11-28 04:31:22 UTC
*** Bug 376279 has been marked as a duplicate of this bug. ***
Comment 35 Fabio Bonelli 2006-11-28 15:24:38 UTC
*** Bug 379984 has been marked as a duplicate of this bug. ***
Comment 36 Guillaume Desmottes 2006-11-28 17:13:45 UTC
*** Bug 380172 has been marked as a duplicate of this bug. ***
Comment 37 Iestyn Pryce 2006-11-28 17:20:39 UTC
*** Bug 379890 has been marked as a duplicate of this bug. ***
Comment 38 André Klapper 2006-11-30 01:51:34 UTC
*** Bug 376329 has been marked as a duplicate of this bug. ***
Comment 39 André Klapper 2006-11-30 01:51:42 UTC
*** Bug 377868 has been marked as a duplicate of this bug. ***
Comment 40 André Klapper 2006-11-30 01:51:48 UTC
*** Bug 379772 has been marked as a duplicate of this bug. ***
Comment 41 André Klapper 2006-11-30 01:51:54 UTC
*** Bug 380560 has been marked as a duplicate of this bug. ***
Comment 42 André Klapper 2006-11-30 01:52:02 UTC
*** Bug 380652 has been marked as a duplicate of this bug. ***
Comment 43 palfrey 2006-12-13 21:42:32 UTC
*** Bug 385582 has been marked as a duplicate of this bug. ***
Comment 44 palfrey 2006-12-13 22:00:32 UTC
*** Bug 385606 has been marked as a duplicate of this bug. ***
Comment 45 palfrey 2006-12-13 22:29:04 UTC
*** Bug 385463 has been marked as a duplicate of this bug. ***
Comment 46 André Klapper 2006-12-14 03:39:40 UTC
*** Bug 385066 has been marked as a duplicate of this bug. ***
Comment 47 Bruno Boaventura 2006-12-14 21:53:08 UTC
*** Bug 385997 has been marked as a duplicate of this bug. ***
Comment 48 Kristian Rietveld 2006-12-15 14:33:53 UTC
(In reply to comment #28)
> perhaps we were tricked by our simple-dup-finder script. the original trace
> asserts in gtk_file_chooser_default_should_respond() while many duplicates (at
> least the last two and mine) assert in gtk_file_chooser_default_new()
> 
> However e.g. Frederico duped them to this one as well
> Reopening
> 
> Matthias? Frederico?

Hrm, I have the feeling too that the newer duplicates are indeed another bug and not related to the opening comment.  The stack traces look a bit weird to me as well, so it is a little difficult to say where exactly the problem is ... (Haven't seen a good testcase yet either).
Comment 49 Bruno Boaventura 2006-12-15 14:52:29 UTC
*** Bug 386071 has been marked as a duplicate of this bug. ***
Comment 50 palfrey 2006-12-17 18:17:10 UTC
*** Bug 386751 has been marked as a duplicate of this bug. ***
Comment 51 André Klapper 2006-12-22 20:57:27 UTC
*** Bug 387263 has been marked as a duplicate of this bug. ***
Comment 52 André Klapper 2006-12-22 20:57:32 UTC
*** Bug 388036 has been marked as a duplicate of this bug. ***
Comment 53 André Klapper 2006-12-22 20:57:38 UTC
*** Bug 388643 has been marked as a duplicate of this bug. ***
Comment 54 André Klapper 2006-12-22 20:57:56 UTC
*** Bug 387259 has been marked as a duplicate of this bug. ***
Comment 55 André Klapper 2006-12-22 20:58:05 UTC
*** Bug 388677 has been marked as a duplicate of this bug. ***
Comment 56 Paolo Borelli 2006-12-29 16:58:52 UTC
*** Bug 390719 has been marked as a duplicate of this bug. ***
Comment 57 Paolo Borelli 2006-12-29 16:59:39 UTC
*** Bug 390721 has been marked as a duplicate of this bug. ***
Comment 58 Paolo Maggi 2007-01-04 19:19:40 UTC
I can reproduce this crash or a very similar one in the following way:

- Open a very very big C file (80 Mb in my case) using gedit
- Wait that gedit starts showing the file in the text view
- Open the file browser (due to a already known problem, nothing is shown there)
- Write something in the location entry
- Press ok

Gtk-ERROR **: file gtkfilechooserdefault.c: line 7772 (gtk_file_chooser_default_should_respond): assertion failed: (path != NULL)
Comment 59 Christian Kirbach 2007-01-04 23:03:21 UTC
*** Bug 392923 has been marked as a duplicate of this bug. ***
Comment 60 Kristian Rietveld 2007-01-05 22:30:28 UTC
(FYI The nothing is shown bug is #348289.)
Comment 61 Jens Granseuer 2007-01-06 16:45:59 UTC
*** Bug 393399 has been marked as a duplicate of this bug. ***
Comment 62 Paolo Maggi 2007-01-06 23:59:38 UTC
*** Bug 393609 has been marked as a duplicate of this bug. ***
Comment 63 palfrey 2007-01-09 22:52:18 UTC
*** Bug 394656 has been marked as a duplicate of this bug. ***
Comment 64 palfrey 2007-01-09 22:52:26 UTC
*** Bug 394580 has been marked as a duplicate of this bug. ***
Comment 65 Paolo Maggi 2007-01-10 09:49:24 UTC
*** Bug 394952 has been marked as a duplicate of this bug. ***
Comment 66 Paolo Maggi 2007-01-10 10:38:18 UTC
*** Bug 394374 has been marked as a duplicate of this bug. ***
Comment 67 Susana 2007-01-12 12:41:25 UTC
*** Bug 395517 has been marked as a duplicate of this bug. ***
Comment 68 Paolo Maggi 2007-01-14 20:51:42 UTC
*** Bug 396615 has been marked as a duplicate of this bug. ***
Comment 69 Paolo Maggi 2007-01-14 20:59:47 UTC
*** Bug 396644 has been marked as a duplicate of this bug. ***
Comment 70 Kjartan Maraas 2007-01-16 15:32:50 UTC
*** Bug 397233 has been marked as a duplicate of this bug. ***
Comment 71 Kjartan Maraas 2007-01-16 15:33:07 UTC
*** Bug 397245 has been marked as a duplicate of this bug. ***
Comment 72 Jon Green 2007-01-16 16:20:58 UTC
Remove bugbuddy at green-lines dot com from cc: list.
Comment 73 palfrey 2007-01-16 22:38:55 UTC
*** Bug 397271 has been marked as a duplicate of this bug. ***
Comment 74 palfrey 2007-01-22 13:33:36 UTC
*** Bug 398341 has been marked as a duplicate of this bug. ***
Comment 75 palfrey 2007-01-22 13:33:41 UTC
*** Bug 399235 has been marked as a duplicate of this bug. ***
Comment 76 Susana 2007-01-22 21:13:59 UTC
*** Bug 399409 has been marked as a duplicate of this bug. ***
Comment 77 Susana 2007-01-22 21:15:43 UTC
*** Bug 399410 has been marked as a duplicate of this bug. ***
Comment 78 herk 2007-01-23 02:12:24 UTC
Being used to Thunderbird, I attempt to save emails and assume incorrectly that Evolution will remember the last place I saved one. I forget that I have to re-navigate to the place where I am saving email files. Sorry . . .

  Herk
Comment 79 Bruno Boaventura 2007-01-24 00:10:11 UTC
*** Bug 399987 has been marked as a duplicate of this bug. ***
Comment 80 Jan Darmochwal 2007-02-03 14:53:56 UTC
I can get a similar crash with Firefox. You can save something and then press <enter> while the save-dialog is still "loading", e.g. right-click on an image and then press "v" immediately followed by <enter>.
This causes _gtk_file_chooser_entry_get_current_folder() and _gtk_file_chooser_entry_get_file_part() to be called from check_save_entry() in gtkfilechooserdefault.c before _gtk_file_chooser_entry_set_base_folder() has been called.
check_save_entry() gets empty current_folder and file_part. It sees the empty file_part and sets *path_ret to current_folder (which is empty as well).
There should probably at least be a check for an empty path like it's the case if file_part is not empty. Maybe something like this:

--- gtk/gtkfilechooserdefault.c (revision 17121)
+++ gtk/gtkfilechooserdefault.c (working copy)
@@ -6634,7 +6634,19 @@

   if (!file_part || file_part[0] == '\0')
     {
-      *path_ret = gtk_file_path_copy (current_folder);
+      path = gtk_file_path_copy (current_folder);
+
+      if (!path)
+        {
+          *path_ret = NULL;
+          *is_well_formed_ret = FALSE;
+          *is_file_part_empty_ret = TRUE;
+          *is_folder = TRUE; /* or FALSE? */
+
+          return;
+        }
+
+      *path_ret = path;
       *is_well_formed_ret = TRUE;
       *is_file_part_empty_ret = TRUE;
       *is_folder = TRUE;
Comment 81 Jens Granseuer 2007-02-03 19:19:54 UTC
*** Bug 377604 has been marked as a duplicate of this bug. ***
Comment 82 Jens Granseuer 2007-02-03 19:20:27 UTC
*** Bug 403993 has been marked as a duplicate of this bug. ***
Comment 83 Jens Granseuer 2007-02-15 17:00:53 UTC
*** Bug 408124 has been marked as a duplicate of this bug. ***
Comment 84 Jonathan Matthew 2007-02-20 22:09:32 UTC
*** Bug 409804 has been marked as a duplicate of this bug. ***
Comment 85 Bruno Boaventura 2007-02-28 23:40:24 UTC
*** Bug 412858 has been marked as a duplicate of this bug. ***
Comment 86 Karsten Bräckelmann 2007-03-02 03:45:48 UTC
*** Bug 413712 has been marked as a duplicate of this bug. ***
Comment 87 Matthias Clasen 2007-03-10 00:32:45 UTC
It seems to me that the current_folder == NULL check should be outside of the 
"empty filepart" check, since current_folder being NULL will also trip gtk_file_system_make_path further down.

Kris, does this make sense ?
Comment 88 Paolo Borelli 2007-03-10 16:38:35 UTC
*** Bug 416803 has been marked as a duplicate of this bug. ***
Comment 89 Kristian Rietveld 2007-03-10 16:53:24 UTC
(In reply to comment #87)
> It seems to me that the current_folder == NULL check should be outside of the 
> "empty filepart" check, since current_folder being NULL will also trip
> gtk_file_system_make_path further down.
> 
> Kris, does this make sense ?

Yes, I think so.  I just tested this patch, which bails out immediately when
current_folder appears to be NULL, with the testcase Paolo mentioned in comment
58:

Index: gtkfilechooserdefault.c
===================================================================
--- gtkfilechooserdefault.c     (revision 17455)
+++ gtkfilechooserdefault.c     (working copy)
@@ -6630,6 +6630,16 @@ check_save_entry (GtkFileChooserDefault 
   *is_empty_ret = FALSE;

   current_folder = _gtk_file_chooser_entry_get_current_folder (chooser_entry);
+  if (!current_folder)
+    {
+      *path_ret = NULL;
+      *is_well_formed_ret = FALSE;
+      *is_file_part_empty_ret = FALSE;
+      *is_folder = FALSE;
+
+      return;
+    }
+
   file_part = _gtk_file_chooser_entry_get_file_part (chooser_entry);

   if (!file_part || file_part[0] == '\0')


And it seems to work well.  Instead of crashing, pressing the Ok button will
have no effect.  All tests of autotestfilechooser also still pass.

Matthias, if you agree maybe we should put this into 2.10.10?
Comment 90 André Klapper 2007-03-11 19:56:13 UTC
133 dups so far - matthias, can this please get into 2.10.10?
Comment 91 Matthias Clasen 2007-03-11 22:17:37 UTC
Sure, since Kris agrees, we should get this patch into 2.10.10. Kris can you commit this today ? I'll have to get 2.10.10 out somehow tomorrow...
Comment 92 Kristian Rietveld 2007-03-12 00:17:33 UTC
Committed on trunk and gtk-2-10.
Comment 93 Susana 2007-03-15 14:41:05 UTC
*** Bug 417796 has been marked as a duplicate of this bug. ***
Comment 94 Reinout van Schouwen 2007-03-19 08:41:40 UTC
*** Bug 420016 has been marked as a duplicate of this bug. ***
Comment 95 Reinout van Schouwen 2007-03-27 13:04:38 UTC
*** Bug 423318 has been marked as a duplicate of this bug. ***
Comment 96 André Klapper 2007-04-02 01:29:21 UTC
Closing as per comment 92.
Fixed in version 2.10.10.

Patch:
http://svn.gnome.org/viewcvs/gtk%2B/branches/gtk-2-10/gtk/gtkfilechooserdefault.c?r1=17477&r2=17480
Comment 97 James "Doc" Livingston 2007-04-06 07:17:12 UTC
*** Bug 425954 has been marked as a duplicate of this bug. ***
Comment 98 Yanko Kaneti 2007-04-06 07:30:59 UTC
*** Bug 426820 has been marked as a duplicate of this bug. ***
Comment 99 Yanko Kaneti 2007-04-07 08:14:03 UTC
*** Bug 427142 has been marked as a duplicate of this bug. ***
Comment 100 Philip Withnall 2007-04-11 01:07:00 UTC
*** Bug 428364 has been marked as a duplicate of this bug. ***
Comment 101 Stanislav Brabec 2007-04-12 09:21:44 UTC
SuSE bug: https://bugzilla.novell.com/show_bug.cgi?id=263774
Comment 102 wgraue 2007-04-12 22:07:57 UTC
I don't have any records of this, or a whold series of similar bug reports being sent to you.  I have not experienced any bugs for about a month.
Comment 103 Philip Withnall 2007-04-13 18:14:39 UTC
*** Bug 429381 has been marked as a duplicate of this bug. ***
Comment 104 Iestyn Pryce 2007-04-17 17:40:02 UTC
*** Bug 430622 has been marked as a duplicate of this bug. ***
Comment 105 Reinout van Schouwen 2007-04-17 21:38:42 UTC
*** Bug 430778 has been marked as a duplicate of this bug. ***
Comment 106 Sebastien Bacher 2007-04-20 17:18:20 UTC
New Ubuntu stable is available now and has GTK 2.10.11
Comment 107 Bruno Boaventura 2007-04-22 13:36:10 UTC
*** Bug 432053 has been marked as a duplicate of this bug. ***
Comment 108 Bruno Boaventura 2007-04-24 00:17:17 UTC
*** Bug 432693 has been marked as a duplicate of this bug. ***
Comment 109 Diego Escalante Urrelo (not reading bugmail) 2007-04-25 03:56:04 UTC
*** Bug 433194 has been marked as a duplicate of this bug. ***
Comment 110 Diego Escalante Urrelo (not reading bugmail) 2007-04-25 05:50:42 UTC
*** Bug 433197 has been marked as a duplicate of this bug. ***
Comment 111 Diego Escalante Urrelo (not reading bugmail) 2007-04-25 05:51:31 UTC
*** Bug 433206 has been marked as a duplicate of this bug. ***
Comment 112 Diego Escalante Urrelo (not reading bugmail) 2007-04-25 05:51:59 UTC
*** Bug 433207 has been marked as a duplicate of this bug. ***
Comment 113 Reinout van Schouwen 2007-04-25 10:44:07 UTC
*** Bug 433228 has been marked as a duplicate of this bug. ***
Comment 114 Reinout van Schouwen 2007-04-25 10:50:42 UTC
*** Bug 433257 has been marked as a duplicate of this bug. ***
Comment 115 palfrey 2007-04-26 13:40:33 UTC
*** Bug 412406 has been marked as a duplicate of this bug. ***
Comment 116 palfrey 2007-04-26 13:58:14 UTC
*** Bug 423719 has been marked as a duplicate of this bug. ***
Comment 117 palfrey 2007-04-26 14:20:15 UTC
*** Bug 430895 has been marked as a duplicate of this bug. ***
Comment 118 palfrey 2007-04-26 14:20:24 UTC
*** Bug 430998 has been marked as a duplicate of this bug. ***
Comment 119 palfrey 2007-04-28 17:57:30 UTC
*** Bug 434002 has been marked as a duplicate of this bug. ***
Comment 120 palfrey 2007-05-01 10:10:43 UTC
*** Bug 434746 has been marked as a duplicate of this bug. ***
Comment 121 palfrey 2007-05-01 10:10:54 UTC
*** Bug 434757 has been marked as a duplicate of this bug. ***
Comment 122 palfrey 2007-05-01 10:10:59 UTC
*** Bug 434768 has been marked as a duplicate of this bug. ***
Comment 123 palfrey 2007-05-01 10:11:51 UTC
*** Bug 434803 has been marked as a duplicate of this bug. ***
Comment 124 palfrey 2007-05-01 10:11:58 UTC
*** Bug 434819 has been marked as a duplicate of this bug. ***
Comment 125 palfrey 2007-05-02 11:39:28 UTC
*** Bug 424081 has been marked as a duplicate of this bug. ***
Comment 126 palfrey 2007-05-02 11:43:41 UTC
*** Bug 425851 has been marked as a duplicate of this bug. ***
Comment 127 palfrey 2007-05-02 11:45:16 UTC
*** Bug 429916 has been marked as a duplicate of this bug. ***
Comment 128 Akhil Laddha 2007-05-04 04:57:37 UTC
*** Bug 435691 has been marked as a duplicate of this bug. ***
Comment 129 Christian Kirbach 2007-05-06 11:59:40 UTC
*** Bug 436256 has been marked as a duplicate of this bug. ***
Comment 130 Christian Kirbach 2007-05-06 11:59:58 UTC
*** Bug 436264 has been marked as a duplicate of this bug. ***
Comment 131 Christian Kirbach 2007-05-06 12:00:15 UTC
*** Bug 436266 has been marked as a duplicate of this bug. ***
Comment 132 Christian Kirbach 2007-05-06 12:00:45 UTC
*** Bug 436295 has been marked as a duplicate of this bug. ***
Comment 133 Christian Kirbach 2007-05-06 12:01:01 UTC
*** Bug 436302 has been marked as a duplicate of this bug. ***
Comment 134 Reinout van Schouwen 2007-05-06 16:23:08 UTC
*** Bug 436344 has been marked as a duplicate of this bug. ***
Comment 135 Susana 2007-05-12 00:27:53 UTC
*** Bug 436009 has been marked as a duplicate of this bug. ***
Comment 136 Reinout van Schouwen 2007-05-19 17:35:30 UTC
*** Bug 439690 has been marked as a duplicate of this bug. ***
Comment 137 Reinout van Schouwen 2007-05-21 08:38:26 UTC
*** Bug 440096 has been marked as a duplicate of this bug. ***
Comment 138 palfrey 2007-06-01 13:22:12 UTC
*** Bug 442820 has been marked as a duplicate of this bug. ***
Comment 139 palfrey 2007-06-06 10:31:58 UTC
*** Bug 444296 has been marked as a duplicate of this bug. ***
Comment 140 palfrey 2007-06-06 10:32:07 UTC
*** Bug 444339 has been marked as a duplicate of this bug. ***
Comment 141 palfrey 2007-06-06 10:32:41 UTC
*** Bug 444344 has been marked as a duplicate of this bug. ***
Comment 142 André Klapper 2007-06-19 23:01:20 UTC
*** Bug 449161 has been marked as a duplicate of this bug. ***
Comment 143 palfrey 2007-06-26 17:22:46 UTC
*** Bug 451134 has been marked as a duplicate of this bug. ***
Comment 144 Reinout van Schouwen 2007-06-28 13:40:45 UTC
*** Bug 451876 has been marked as a duplicate of this bug. ***
Comment 145 Reinout van Schouwen 2007-06-29 10:09:26 UTC
*** Bug 452167 has been marked as a duplicate of this bug. ***
Comment 146 palfrey 2007-06-30 15:19:39 UTC
*** Bug 452504 has been marked as a duplicate of this bug. ***
Comment 147 Christian Kirbach 2007-07-01 10:02:07 UTC
*** Bug 452778 has been marked as a duplicate of this bug. ***
Comment 148 Christian Kirbach 2007-07-01 10:55:58 UTC
*** Bug 452777 has been marked as a duplicate of this bug. ***
Comment 149 Paolo Borelli 2007-07-01 17:08:01 UTC
*** Bug 408955 has been marked as a duplicate of this bug. ***
Comment 150 Philip Withnall 2007-07-03 12:55:53 UTC
*** Bug 453293 has been marked as a duplicate of this bug. ***
Comment 151 André Klapper 2007-07-10 14:17:40 UTC
*** Bug 455318 has been marked as a duplicate of this bug. ***
Comment 152 Iestyn Pryce 2007-07-26 10:30:40 UTC
*** Bug 460492 has been marked as a duplicate of this bug. ***
Comment 153 Iestyn Pryce 2007-08-06 12:10:01 UTC
*** Bug 463922 has been marked as a duplicate of this bug. ***
Comment 154 Susana 2007-08-25 15:23:07 UTC
*** Bug 465269 has been marked as a duplicate of this bug. ***
Comment 155 Susana 2007-08-25 15:23:19 UTC
*** Bug 469672 has been marked as a duplicate of this bug. ***
Comment 156 André Klapper 2007-09-13 09:48:55 UTC
*** Bug 476210 has been marked as a duplicate of this bug. ***
Comment 157 André Klapper 2007-09-13 09:50:58 UTC
*** Bug 476469 has been marked as a duplicate of this bug. ***
Comment 158 André Klapper 2007-09-13 09:51:00 UTC
*** Bug 459795 has been marked as a duplicate of this bug. ***
Comment 159 André Klapper 2007-09-13 09:51:04 UTC
*** Bug 412311 has been marked as a duplicate of this bug. ***
Comment 160 André Klapper 2007-09-13 09:51:08 UTC
*** Bug 408675 has been marked as a duplicate of this bug. ***