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 325308 - gThumb crash when reaching the end of a directory during fullscreen viewing
gThumb crash when reaching the end of a directory during fullscreen viewing
Status: RESOLVED FIXED
Product: gthumb
Classification: Other
Component: general
2.7.x
Other other
: High critical
: ---
Assigned To: Paolo Bacchilega
Paolo Bacchilega
: 328995 335336 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2005-12-30 16:21 UTC by Benjamin Dauvergne
Modified: 2006-03-22 08:18 UTC
See Also:
GNOME target: ---
GNOME version: 2.13/2.14



Description Benjamin Dauvergne 2005-12-30 16:21:23 UTC
Distribution: Ubuntu 6.04 (dapper)
Package: gthumb
Severity: Normal
Version: GNOME2.13.3 2.7.1
Gnome-Distributor: Ubuntu
Synopsis: gThumb crash when reaching the end of a directory during fullscreen viewing
Bugzilla-Product: gthumb
Bugzilla-Component: general
Bugzilla-Version: 2.7.1
BugBuddy-GnomeVersion: 2.0 (2.13.0)
Description:
How often does this happen?
Always.



Debugging Information:

Backtrace was generated from '/usr/bin/gthumb'

(no debugging symbols found)
Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread -1209067840 (LWP 5645)]
[New Thread -1299194960 (LWP 5662)]
[New Thread -1290802256 (LWP 5661)]
[New Thread -1282409552 (LWP 5660)]
[New Thread -1263178832 (LWP 5659)]
[New Thread -1272411216 (LWP 5658)]
[New Thread -1253934160 (LWP 5652)]
[New Thread -1245541456 (LWP 5651)]
[New Thread -1237148752 (LWP 5650)]
[New Thread -1228756048 (LWP 5649)]
[New Thread -1228461136 (LWP 5648)]
[New Thread -1219822672 (LWP 5647)]
[New Thread -1211409488 (LWP 5646)]
0xffffe410 in __kernel_vsyscall ()

Thread 1 (Thread -1209067840 (LWP 5645))

  • #0 __kernel_vsyscall
  • #1 __waitpid_nocancel
    from /lib/tls/i686/cmov/libpthread.so.0
  • #2 libgnomeui_module_info_get
    from /usr/lib/libgnomeui-2.so.0
  • #3 <signal handler called>
  • #4 gdk_screen_get_rgb_colormap
    from /usr/lib/libgdk-x11-2.0.so.0
  • #5 gdk_draw_rgb_image_dithalign
    from /usr/lib/libgdk-x11-2.0.so.0
  • #6 image_viewer_is_frame_visible
    from /usr/lib/libgthumb.so
  • #7 image_viewer_is_frame_visible
    from /usr/lib/libgthumb.so
  • #8 image_viewer_is_frame_visible
    from /usr/lib/libgthumb.so
  • #9 image_viewer_scroll_to
    from /usr/lib/libgthumb.so
  • #10 image_viewer_scroll_to
    from /usr/lib/libgthumb.so
  • #11 gthumb_marshal_VOID__ENUM_ENUM
    from /usr/lib/libgthumb.so
  • #12 g_cclosure_new_swap
    from /usr/lib/libgobject-2.0.so.0
  • #13 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #14 g_signal_stop_emission
    from /usr/lib/libgobject-2.0.so.0
  • #15 g_signal_emitv
    from /usr/lib/libgobject-2.0.so.0
  • #16 gtk_bin_get_child
    from /usr/lib/libgtk-x11-2.0.so.0
  • #17 gtk_binding_set_by_class
    from /usr/lib/libgtk-x11-2.0.so.0
  • #18 gtk_binding_set_by_class
    from /usr/lib/libgtk-x11-2.0.so.0
  • #19 gtk_bindings_activate
    from /usr/lib/libgtk-x11-2.0.so.0
  • #20 image_loader_load_from_image_loader
    from /usr/lib/libgthumb.so
  • #21 _gtk_marshal_BOOLEAN__BOXED
    from /usr/lib/libgtk-x11-2.0.so.0
  • #22 g_cclosure_new_swap
    from /usr/lib/libgobject-2.0.so.0
  • #23 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #24 g_signal_stop_emission
    from /usr/lib/libgobject-2.0.so.0
  • #25 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #26 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #27 gtk_widget_activate
    from /usr/lib/libgtk-x11-2.0.so.0
  • #28 gtk_window_propagate_key_event
    from /usr/lib/libgtk-x11-2.0.so.0
  • #29 gtk_window_activate_key
    from /usr/lib/libgtk-x11-2.0.so.0
  • #30 _gtk_marshal_BOOLEAN__BOXED
    from /usr/lib/libgtk-x11-2.0.so.0
  • #31 g_cclosure_new_swap
    from /usr/lib/libgobject-2.0.so.0
  • #32 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #33 g_signal_stop_emission
    from /usr/lib/libgobject-2.0.so.0
  • #34 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #35 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #36 gtk_widget_activate
    from /usr/lib/libgtk-x11-2.0.so.0
  • #37 gtk_propagate_event
    from /usr/lib/libgtk-x11-2.0.so.0
  • #38 gtk_main_do_event
    from /usr/lib/libgtk-x11-2.0.so.0
  • #39 _gdk_events_queue
    from /usr/lib/libgdk-x11-2.0.so.0
  • #40 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #41 g_main_context_check
    from /usr/lib/libglib-2.0.so.0
  • #42 g_main_loop_run
    from /usr/lib/libglib-2.0.so.0
  • #43 gtk_main
    from /usr/lib/libgtk-x11-2.0.so.0
  • #44 main
  • #0 __kernel_vsyscall




------- Bug created by bug-buddy at 2005-12-30 16:21 -------


Unknown version 2.7.1 in product gthumb.  Setting version to "2.7.x".

Comment 1 Benjamin Dauvergne 2005-12-30 23:29:51 UTC
It seems to me that load_prev_image and load_next_image in gth-fullscreen.c can trigger gtk_window_close on the fullscreen window.

In viewer_key_press_cb, there is:

||         case GDK_Escape:
||         case GDK_q:
||         case GDK_v:
||         case GDK_f:
||         case GDK_F11:
--                 gth_window_close (window);
34                 retval = TRUE;
34                 break;

retval is set to TRUE, so the event is not propagated and nothing more can happer to window.

but later there is:
34                 /* Load next image. */
||         case GDK_space:
||         case GDK_n:
||         case GDK_Page_Down:
--                 load_next_image (fullscreen);
34                 retval = TRUE;
34                 break;
34
34                 /* Load previous image. */
||         case GDK_p:
||         case GDK_b:
||         case GDK_BackSpace:
||         case GDK_Page_Up:
--                 load_prev_image (fullscreen);
34                 break;
34
34                 /* Show first image. */

retval is not changed so that it finished to be treated by 
image_viewer_key_down that ask for a scroll of a widget whose window has been destroyed.

if i add "retvall = TRUE;" after "load_next_image" the problem disappear.
Comment 2 Paolo Bacchilega 2006-01-04 22:27:30 UTC
I commited a patch that blocks event propagation by default as you suggested, and removed Left and Right as shortcuts to move to the next/prev image as they are already used to scroll the image horizontally.

thanks for the bug report.
Comment 3 Christian Kirbach 2006-01-28 18:08:30 UTC
*** Bug 328995 has been marked as a duplicate of this bug. ***
Comment 4 Paolo Bacchilega 2006-03-22 08:18:59 UTC
*** Bug 335336 has been marked as a duplicate of this bug. ***