Commit 5bdeda72 authored by Guido Gunther's avatar Guido Gunther
Browse files

window: Don't remove inexistent source

Happens when hitting the keyboard button in the shell for the first
time:

    (process:18643): GLib-CRITICAL **: 12:07:38.152: g_source_remove: assertion 'tag > 0' failed

    Thread 1 "virtboard" received signal SIGTRAP, Trace/breakpoint trap.
    0x00007ffff78d8ca5 in _g_log_abort (breakpoint=1) at ../../../glib/gmessages.c:554
    554	../../../glib/gmessages.c: No such file or directory.
    (gdb) bt
    #0  0x00007ffff78d8ca5 in _g_log_abort (breakpoint=1) at ../../../glib/gmessages.c:554
    #1  0x00007ffff78d9fad in g_logv (log_domain=0x7ffff791e00e "GLib", log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, args=args@entry=0x7fffffffd160) at ../../../glib/gmessages.c:1371
    #2  0x00007ffff78da17f in g_log (log_domain=log_domain@entry=0x7ffff791e00e "GLib", log_level=log_level@entry=G_LOG_LEVEL_CRITICAL, format=format@entry=0x7ffff79286bc "%s: assertion '%s' failed")
        at ../../../glib/gmessages.c:1413
    #3  0x00007ffff78da9a9 in g_return_if_fail_warning
        (log_domain=log_domain@entry=0x7ffff791e00e "GLib", pretty_function=pretty_function@entry=0x7ffff7926b90 <__FUNCTION__.13439> "g_source_remove", expression=expression@entry=0x7ffff7925dfd "tag > 0")
        at ../../../glib/gmessages.c:2762
    #4  0x00007ffff78d1be4 in g_source_remove (tag=<optimized out>) at ../../../glib/gmain.c:2352
    #5  0x0000555555571667 in window_inhibit_redraw (window=0x555555671280) at ../clients/window.c:3913
    #6  0x0000555555568a1d in make_surface (output=0x5555555c3310, virtual_keyboard=0x7fffffffdb80) at ../clients/keyboard.c:1114
    #7  0x0000555555568b5b in kb_window_create (virtual_keyboard=0x7fffffffdb80) at ../clients/keyboard.c:1137
    #8  0x0000555555568c9a in make_visible (keyboard=0x7fffffffdb80) at ../clients/keyboard.c:1166
    #9  0x0000555555569578 in handle_set_visible (object=0x5555556142a0, invocation=0x7fffe0009400 [GDBusMethodInvocation], arg_visible=1, user_data=0x7fffffffdb80) at ../clients/keyboard.c:1403
    #10 0x00007ffff747f8ee in ffi_call_unix64 () at /usr/lib/x86_64-linux-gnu/libffi.so.6
    #11 0x00007ffff747f2bf in ffi_call () at /usr/lib/x86_64-linux-gnu/libffi.so.6
    #15 0x00007ffff79d046f in Python Exception <class 'gdb.error'> There is no member named v_pointer.:
    #16 0x0000555555565295 in _sm_puri_osk0_skeleton_handle_method_call
        (connection=0x7fffe800b090 [GDBusConnection], sender=0x7fffe0004880 ":1.230", object_path=0x7fffe0007db0 "/sm/puri/OSK0", interface_name=0x7fffe0008150 "sm.puri.OSK0", method_name=0x7fffe0007d70 "SetVisible", parameters=0x555555620430, invocation=0x7fffe0009400 [GDBusMethodInvocation], user_data=0x5555556142a0) at sm.puri.OSK0.c:1136
    #17 0x00007ffff7b07b86 in g_dbus_interface_method_dispatch_helper
        (interface=<optimized out>, method_call_func=0x555555564e42 <_sm_puri_osk0_skeleton_handle_method_call>, invocation=0x7fffe0009400 [GDBusMethodInvocation]) at ../../../gio/gdbusinterfaceskeleton.c:609
    #18 0x00007ffff7aef199 in call_in_idle_cb (user_data=<optimized out>) at ../../../gio/gdbusconnection.c:4842
    #19 0x00007ffff78d2dd8 in g_main_dispatch (context=0x5555555de670) at ../../../glib/gmain.c:3182
    #20 0x00007ffff78d2dd8 in g_main_context_dispatch (context=context@entry=0x5555555de670) at ../../../glib/gmain.c:3847
    #21 0x00007ffff78d31c8 in g_main_context_iterate (context=0x5555555de670, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:3920
    #22 0x00007ffff78d34c2 in g_main_loop_run (loop=0x5555555de760) at ../../../glib/gmain.c:4116
    #23 0x00005555555759d1 in display_run (display=0x5555555bcef0) at ../clients/window.c:6080
    #24 0x0000555555569c6a in main (argc=1, argv=0x7fffffffdd28) at ../clients/keyboard.c:1578
parent e3c0a1ba
......@@ -3910,7 +3910,9 @@ void
window_inhibit_redraw(struct window *window)
{
window->redraw_inhibited = 1;
g_source_remove(window->redraw_task);
if (window->redraw_task)
g_source_remove(window->redraw_task);
window->redraw_task = 0;
window->redraw_task_scheduled = 0;
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment