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 325435 - FILTER_RULE_PIXBUF_FORMATS needs NULL check
FILTER_RULE_PIXBUF_FORMATS needs NULL check
Status: RESOLVED DUPLICATE of bug 317687
Product: gtk+
Classification: Platform
Component: Widget: GtkFileChooser
2.8.x
Other All
: Normal critical
: ---
Assigned To: gtk-bugs
Federico Mena Quintero
Depends on:
Blocks:
 
 
Reported: 2006-01-01 12:40 UTC by Yasumichi Akahoshi
Modified: 2006-01-02 02:52 UTC
See Also:
GNOME target: ---
GNOME version: 2.11/2.12



Description Yasumichi Akahoshi 2006-01-01 12:40:51 UTC
Steps to reproduce:
1. program use filechooser with gtk_file_filter_add_pixbuf_formats
2. The directory with the file not to be able to acquire myme_type is opened. 
3. The Application "program" has quit unexpectedly.


Stack trace:
  • #0 strcmp
    from /lib/i686/libc.so.6
  • #1 gtk_file_filter_filter
    from /usr/lib/libgtk-x11-2.0.so.0
  • #2 gtk_file_chooser_dialog_new_with_backend
    from /usr/lib/libgtk-x11-2.0.so.0
  • #3 gtk_file_chooser_dialog_new_with_backend
    from /usr/lib/libgtk-x11-2.0.so.0
  • #4 gtk_file_paths_free
    from /usr/lib/libgtk-x11-2.0.so.0
  • #5 gtk_file_paths_free
    from /usr/lib/libgtk-x11-2.0.so.0
  • #6 gtk_file_paths_free
    from /usr/lib/libgtk-x11-2.0.so.0
  • #7 gtk_file_paths_free
    from /usr/lib/libgtk-x11-2.0.so.0
  • #8 gtk_file_chooser_dialog_new_with_backend
    from /usr/lib/libgtk-x11-2.0.so.0
  • #9 gtk_file_chooser_dialog_new_with_backend
    from /usr/lib/libgtk-x11-2.0.so.0
  • #10 gtk_file_chooser_dialog_new_with_backend
    from /usr/lib/libgtk-x11-2.0.so.0
  • #11 gtk_file_chooser_dialog_new_with_backend
    from /usr/lib/libgtk-x11-2.0.so.0
  • #12 gtk_file_chooser_dialog_new_with_backend
    from /usr/lib/libgtk-x11-2.0.so.0
  • #13 gtk_marshal_VOID__UINT_STRING
    from /usr/lib/libgtk-x11-2.0.so.0
  • #14 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #15 g_signal_emit_by_name
    from /usr/lib/libgobject-2.0.so.0
  • #16 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #17 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #18 gtk_path_bar_get_type
    from /usr/lib/libgtk-x11-2.0.so.0
  • #19 g_cclosure_marshal_VOID__VOID
    from /usr/lib/libgobject-2.0.so.0
  • #20 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #21 g_signal_emit_by_name
    from /usr/lib/libgobject-2.0.so.0
  • #22 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #23 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #24 gtk_button_clicked
    from /usr/lib/libgtk-x11-2.0.so.0
  • #25 gtk_toggle_button_get_inconsistent
    from /usr/lib/libgtk-x11-2.0.so.0
  • #26 g_cclosure_marshal_VOID__VOID
    from /usr/lib/libgobject-2.0.so.0
  • #27 g_cclosure_new_swap
    from /usr/lib/libgobject-2.0.so.0
  • #28 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #29 g_signal_emit_by_name
    from /usr/lib/libgobject-2.0.so.0
  • #30 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #31 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #32 gtk_button_released
    from /usr/lib/libgtk-x11-2.0.so.0
  • #33 gtk_button_get_relief
    from /usr/lib/libgtk-x11-2.0.so.0
  • #34 gtk_marshal_VOID__UINT_STRING
    from /usr/lib/libgtk-x11-2.0.so.0
  • #35 g_cclosure_new_swap
    from /usr/lib/libgobject-2.0.so.0
  • #36 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #37 g_signal_emit_by_name
    from /usr/lib/libgobject-2.0.so.0
  • #38 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #39 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #40 gtk_widget_send_expose
    from /usr/lib/libgtk-x11-2.0.so.0
  • #41 gtk_widget_event
    from /usr/lib/libgtk-x11-2.0.so.0
  • #42 gtk_propagate_event
    from /usr/lib/libgtk-x11-2.0.so.0
  • #43 gtk_main_do_event
    from /usr/lib/libgtk-x11-2.0.so.0
  • #44 gdk_x11_register_standard_event_type
    from /usr/lib/libgdk-x11-2.0.so.0
  • #45 g_main_depth
    from /usr/lib/libglib-2.0.so.0
  • #46 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #47 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #48 g_main_loop_run
    from /usr/lib/libglib-2.0.so.0
  • #49 gtk_main
    from /usr/lib/libgtk-x11-2.0.so.0
  • #50 main
    at main.c line 41


Other information:
gtk_file_filter_filter(gtkfilefilter.c)
FILTER_RULE_PATTERN: check whether filter_info->mime_type is NULL.
but
FILTER_RULE_PIXBUF_FORMATS: no check whether filter_info->mime_type is NULL.

diff -uNr gtk+-2.8.9.org/gtk/gtkfilefilter.c gtk+-2.8.9/gtk/gtkfilefilter.c
--- gtk+-2.8.9.org/gtk/gtkfilefilter.c  2005-03-20 16:01:21.000000000 +0900
+++ gtk+-2.8.9/gtk/gtkfilefilter.c      2006-01-01 21:24:25.000000000 +0900
@@ -425,6 +425,8 @@
          {
            GSList *list;

+           if (filter_info->mime_type == NULL)
+             break;
            for (list = rule->u.pixbuf_formats; list; list = list->next)
              {
                int i;
Comment 1 Federico Mena Quintero 2006-01-02 02:52:58 UTC

*** This bug has been marked as a duplicate of 317687 ***