Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crash on "View in New Window" if no image active #609

Closed
gusnan opened this issue May 14, 2018 · 1 comment
Closed

Crash on "View in New Window" if no image active #609

gusnan opened this issue May 14, 2018 · 1 comment

Comments

@gusnan
Copy link
Contributor

gusnan commented May 14, 2018

ISSUE TYPE

  • Bug Report

GEEQIE VERSION

Geeqie 1.4
GTK2

OS / DISTRIBUTION

Debian Unstable (and also Debian Stable)

SUMMARY

If I use the folder view and go to a folder where there isn't any images, and press Ctrl+V
(or use the View -> "View in New Window" menu item) the program crashes.

STEPS TO REPRODUCE

See "Summary".

Backtrace:

937		if (file_extension_match(fd->path, GQ_COLLECTION_EXT))
(gdb) bt full
#0  0x0000555555625140 in view_window_new (fd=0x0) at img-view.c:937
        list = 0x0
#4  0x00007ffff614ce0f in <emit signal ??? on instance 0x555555a84950 [GtkAction]> (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at ../../../../gobject/gsignal.c:3447
        var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7fffffffd1b0, reg_save_area = 0x7fffffffd0f0}}
    #1  0x00007ffff6130f6d in g_closure_invoke (closure=0x555555a85420, return_value=0x0, n_param_values=1, param_values=0x7fffffffcf10, invocation_hint=0x7fffffffce90) at ../../../../gobject/gclosure.c:804
                marshal = 0x7ffff78cb950 <g_cclosure_marshal_VOID(int13_t &&) volatile>
                marshal_data = 0x0
                in_marshal = 0
                real_closure = 0x555555a85400
                __func__ = "g_closure_invoke"
    #2  0x00007ffff6143d3e in signal_emit_unlocked_R (node=node@entry=0x555555a35120, detail=detail@entry=0, instance=instance@entry=0x555555a84950, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fffffffcf10) at ../../../../gobject/gsignal.c:3635
                tmp = <optimized out>
                handler = 0x555555a40800
                accumulator = 0x0
                emission = 
                  {next = 0x7fffffffd320, instance = 0x555555a84950, ihint = {signal_id = 122, detail = 0, run_type = G_SIGNAL_RUN_FIRST}, state = EMISSION_RUN, chain_type = 4}
                handler_list = 0x555555a40800
                return_accu = 0x0
                accu = 
                      {g_type = 0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
                signal_id = 122
                max_sequential_handler_number = 2749
                return_value_altered = 1
    #3  0x00007ffff614c3f5 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7fffffffd0d0) at ../../../../gobject/gsignal.c:3391
                instance_and_params = 0x7fffffffcf10
                signal_return_type = <optimized out>
                param_values = 0x7fffffffcf28
                i = <optimized out>
                n_params = <optimized out>
                __func__ = "g_signal_emit_valist"
#5  0x00007ffff780adc0 in  () at /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#6  0x00007ffff780b589 in  () at /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#10 0x00007ffff614ce0f in <emit signal accel-activate:<Primary>v on instance 0x555555a85e00 [GtkAccelGroup]> (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at ../../../../gobject/gsignal.c:3447
        var_args = {{gp_offset = 48, fp_offset = 48, overflow_arg_area = 0x7fffffffd690, reg_save_area = 0x7fffffffd5d0}}
    #7  0x00007ffff6130f6d in g_closure_invoke (closure=0x555555a852b0, return_value=0x7fffffffd350, n_param_values=4, param_values=0x7fffffffd3b0, invocation_hint=0x7fffffffd330) at ../../../../gobject/gclosure.c:804
                marshal = 0x7ffff780b560
                marshal_data = 0x0
                in_marshal = 0
                real_closure = 0x555555a85290
                __func__ = "g_closure_invoke"
    #8  0x00007ffff6143d3e in signal_emit_unlocked_R (node=node@entry=0x555555ad6f20, detail=detail@entry=1580, instance=instance@entry=0x555555a85e00, emission_return=emission_return@entry=0x7fffffffd500, instance_and_params=instance_and_params@entry=0x7fffffffd3b0)
    at ../../../../gobject/gsignal.c:3635
                tmp = <optimized out>
                handler = 0x555555c85200
                accumulator = 0x555555ad6f90
                emission = 
                  {next = 0x7fffffffd8f0, instance = 0x555555a85e00, ihint = {signal_id = 132, detail = 1580, run_type = G_SIGNAL_RUN_FIRST}, state = EMISSION_RUN, chain_type = 4}
                handler_list = 0x555555c3e440
                return_accu = 0x7fffffffd350
                accu = 
                      {g_type = 20, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
                signal_id = 132
                max_sequential_handler_number = 2749
                return_value_altered = 0
    #9  0x00007ffff614bd8f in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7fffffffd5b0) at ../../../../gobject/gsignal.c:3401
                return_value = 
                      {g_type = 20, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
---Type <return> to continue, or q <return> to quit---
                error = 0x0
                rtype = 20
                static_scope = 0
                instance_and_params = 0x7fffffffd3b0
                signal_return_type = <optimized out>
                param_values = 0x7fffffffd3c8
                i = <optimized out>
                n_params = <optimized out>
                __func__ = "g_signal_emit_valist"
#11 0x00007ffff7805f18 in gtk_accel_group_activate () at /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#12 0x00007ffff780735d in gtk_accel_groups_activate () at /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#13 0x00007ffff79f44f6 in gtk_window_activate_key () at /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#14 0x00007ffff79f4531 in  () at /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#15 0x00007ffff78c82ab in  () at /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#19 0x00007ffff614ce0f in <emit signal ??? on instance 0x555555a0c100 [GtkWindow]> (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at ../../../../gobject/gsignal.c:3447
        var_args = {{gp_offset = 32, fp_offset = 48, overflow_arg_area = 0x7fffffffdc30, reg_save_area = 0x7fffffffdb70}}
    #16 0x00007ffff6130f6d in g_closure_invoke (closure=0x5555559c4e40, return_value=0x7fffffffd920, n_param_values=2, param_values=0x7fffffffd980, invocation_hint=0x7fffffffd900) at ../../../../gobject/gclosure.c:804
                marshal = 0x7ffff612f450 <g_type_class_meta_marshal>
                marshal_data = 0x190
                in_marshal = 0
                real_closure = 0x5555559c4e20
                __func__ = "g_closure_invoke"
    #17 0x00007ffff6143ac8 in signal_emit_unlocked_R (node=node@entry=0x5555559c4e90, detail=detail@entry=0, instance=instance@entry=0x555555a0c100, emission_return=emission_return@entry=0x7fffffffdaa0, instance_and_params=instance_and_params@entry=0x7fffffffd980)
    at ../../../../gobject/gsignal.c:3673
                accumulator = 0x5555559c4f00
                emission = 
                  {next = 0x0, instance = 0x555555a0c100, ihint = {signal_id = 42, detail = 0, run_type = G_SIGNAL_RUN_LAST}, state = EMISSION_RUN, chain_type = 93824996826768}
                handler_list = <optimized out>
                return_accu = 0x7fffffffd920
                accu = 
                      {g_type = 20, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
                signal_id = 42
                max_sequential_handler_number = 2749
                return_value_altered = 1
    #18 0x00007ffff614bd8f in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7fffffffdb50) at ../../../../gobject/gsignal.c:3401
                return_value = 
                      {g_type = 20, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
                error = 0x0
                rtype = 20
                static_scope = 0
                instance_and_params = 0x7fffffffd980
                signal_return_type = <optimized out>
                param_values = 0x7fffffffd998
                i = <optimized out>
                n_params = <optimized out>
                __func__ = "g_signal_emit_valist"
#20 0x00007ffff79de26c in  () at /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#21 0x00007ffff78c661d in gtk_propagate_event () at /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#22 0x00007ffff78c694b in gtk_main_do_event () at /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#23 0x00007ffff753c04c in  () at /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#24 0x00007ffff5e57287 in g_main_dispatch (context=0x5555559ae4a0) at ../../../../glib/gmain.c:3177
        dispatch = 0x7ffff753c000
        prev_source = 0x0
        was_in_call = 0
        user_data = 0x0
        callback = 0x0
        cb_funcs = <optimized out>
        cb_data = 0x0
        need_destroy = <optimized out>
        source = 0x5555559ae3b0
        current = 0x555555ada2a0
        i = 0
#25 0x00007ffff5e57287 in g_main_context_dispatch (context=context@entry=0x5555559ae4a0) at ../../../../glib/gmain.c:3830
---Type <return> to continue, or q <return> to quit---
#26 0x00007ffff5e574c0 in g_main_context_iterate (context=0x5555559ae4a0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
    at ../../../../glib/gmain.c:3903
        max_priority = 2147483647
        timeout = 4958
        some_ready = 1
        nfds = <optimized out>
        allocated_nfds = 3
        fds = 0x555555dc1c20
#27 0x00007ffff5e577d2 in g_main_loop_run (loop=0x5555559e1600) at ../../../../glib/gmain.c:4099
        __func__ = "g_main_loop_run"
#28 0x00007ffff78c5977 in gtk_main () at /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#29 0x00005555555bd60c in main (argc=<optimized out>, argv=<optimized out>) at main.c:979
        first_collection = <optimized out>
        buf = 0x5555559f5450 "0U\237UUU"
        cd = 0x0
        __func__ = "main"

@caclark
Copy link
Collaborator

caclark commented May 15, 2018

Fixed in commit d619df4 at geeqie.org

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants