gedit collaboration plugin

Just finished a big chunk of a new gedit plugin which uses the excellent infinote library (gobby, libinfinity) to do collaborative editing. Being pretty tired, I’ll keep this post short, but be sure to get an update on the plugin’s progress soon :)

Credit goes to the rocking infinote API and Armin from gobby fame, where all the hard work is done. The code plugin is currently hosted on github, but we will most likely move it to gedit-plugins once it matures. If you want to try it out, be sure to fetch the libinfinity 0.4 stable branch from git (there were a few API additions and small bug fixes to make it work with gedit).

This entry was posted in gedit. Bookmark the permalink.

19 Responses to gedit collaboration plugin

  1. Aleks says:

    This has got to be the coolest gedit plugin yet!

  2. pabs says:

    You are awesome! If you are ever at a DebConf, I’ll buy you a $BEVERAGE or three.

    Even cooler would be if I could use Telepathy tubes to collaborate on a document with one of my friends who uses XMPP.

    • Jesse van den Kieboom says:

      Indeed, and that is exactly the next step. What we can do is run a infinote daemon within gedit, and announce that over telepathy tubes to your contacts. I checked and everything seems to be in place (the major part was writing the client code, since it will work mostly the same over tubes, regardless of connecting to an infinoted, or a daemon within gedit). Be sure to check for updates on the plugin development :)

  3. Matthew says:

    Your first link to gobby is malformed. It just links back to your blog.

  4. pvanhoof says:

    We don’t have a bugzilla for this yet, se here’s a crash (when you create a new bookmark in the sidepane).

    (gdb) run
    Starting program: /usr/bin/gedit
    [Thread debugging using libthread_db enabled]
    [New Thread 0xb569bb70 (LWP 20447)]

    Program received signal SIGSEGV, Segmentation fault.
    0xb783b5e3 in IA__g_type_check_instance_is_a (type_instance=0x86c97a0, iface_type=136203456)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gtype.c:3697
    3697 /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gtype.c: No such file or directory.
    in /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gtype.c
    (gdb) bt
    #0 0xb783b5e3 in IA__g_type_check_instance_is_a (type_instance=0x86c97a0, iface_type=136203456)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gtype.c:3697
    #1 0xb5bb0889 in gedit_collaboration_bookmark_get_user (bookmark=0x86c97a0) at gedit-collaboration-bookmark.c:237
    #2 0xb5bb19b8 in update_bookmark (dlg=0x844d970, response_id=-5) at gedit-collaboration-bookmark-dialog.c:71
    #3 dialog_response_impl (dlg=0x844d970, response_id=-5) at gedit-collaboration-bookmark-dialog.c:163
    #4 0xb782e668 in IA__g_cclosure_marshal_VOID__INT (closure=0x8409ef8, return_value=0x0, n_param_values=2, param_values=0x8642d68,
    invocation_hint=0xbfffe630, marshal_data=0xb5bb1900)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gmarshal.c:216
    #5 0xb781f5e9 in g_type_class_meta_marshal (closure=0x8409ef8, return_value=0x0, n_param_values=2, param_values=0x8642d68,
    invocation_hint=0xbfffe630, marshal_data=0x1c8)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gclosure.c:878
    #6 0xb7820f62 in IA__g_closure_invoke (closure=0x8409ef8, return_value=0x0, n_param_values=2, param_values=0x8642d68,
    invocation_hint=0xbfffe630) at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gclosure.c:767
    #7 0xb783509e in signal_emit_unlocked_R (node=, detail=, instance=0x844d970,
    emission_return=0x0, instance_and_params=0x8642d68)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gsignal.c:3285
    #8 0xb783672d in IA__g_signal_emit_valist (instance=0x844d970, signal_id=318, detail=0,
    var_args=0xbfffe7f0 “\230&\205\267\20027\264\26770\350\377\27734邷p\331D\b\373\377\377\37702”)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gsignal.c:2980
    #9 0xb7836ba6 in IA__g_signal_emit (instance=0x844d970, signal_id=318, detail=0)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gsignal.c:3037
    #10 0xb7b41771 in gtk_dialog_response () from /usr/lib/libgtk-x11-2.0.so.0
    #11 0xb782e91c in IA__g_cclosure_marshal_VOID__VOID (closure=0x86712e8, return_value=0x0, n_param_values=1, param_values=0x868cda8,
    invocation_hint=0xbfffe950, marshal_data=0x844d970)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gmarshal.c:77
    #12 0xb7820f62 in IA__g_closure_invoke (closure=0x86712e8, return_value=0x0, n_param_values=1, param_values=0x868cda8,
    invocation_hint=0xbfffe950) at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gclosure.c:767
    #13 0xb78353a8 in signal_emit_unlocked_R (node=, detail=, instance=0x868ea70,
    emission_return=0x0, instance_and_params=0x868cda8)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gsignal.c:3247
    #14 0xb783672d in IA__g_signal_emit_valist (instance=0x868ea70, signal_id=156, detail=0,
    var_args=0xbfffeb0c “\230&\205\267\230&\205\267p\352h\b8\353\377\277H16\261\267p\352h\bP”)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gsignal.c:2980
    #15 0xb7836ba6 in IA__g_signal_emit (instance=0x868ea70, signal_id=156, detail=0)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gsignal.c:3037
    #16 0xb7b0f82a in gtk_button_clicked () from /usr/lib/libgtk-x11-2.0.so.0
    #17 0xb7b10e48 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #18 0xb782e91c in IA__g_cclosure_marshal_VOID__VOID (closure=0x81c03f0, return_value=0x0, n_param_values=1, param_values=0x868cdc0,
    invocation_hint=0xbfffecc0, marshal_data=0x868ea70)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gmarshal.c:77
    #19 0xb781f5e9 in g_type_class_meta_marshal (closure=0x81c03f0, return_value=0x0, n_param_values=1, param_values=0x868cdc0,
    invocation_hint=0xbfffecc0, marshal_data=0x1a4)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gclosure.c:878
    #20 0xb7820f62 in IA__g_closure_invoke (closure=0x81c03f0, return_value=0x0, n_param_values=1, param_values=0x868cdc0,
    —Type to continue, or q to quit—
    invocation_hint=0xbfffecc0) at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gclosure.c:767
    #21 0xb7834cb0 in signal_emit_unlocked_R (node=, detail=, instance=0x868ea70,
    emission_return=0x0, instance_and_params=0x868cdc0)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gsignal.c:3177
    #22 0xb783672d in IA__g_signal_emit_valist (instance=0x868ea70, signal_id=155, detail=0,
    var_args=0xbfffee7c “\230&\205\267\344\t\345\267D\360\377\277\250\356\377\27703\371\260\267p\352h\bHi17\bHi17\b\360\32334\267\344\t\345\267D\360\377\277\350\356\377\277\244\361\274\267p\352h\b\350\261f\b\360’23\b\230&\205\267h=d\bح22\b\350\356\377\277\33463\204\267h=d\bح22\b30\357\377\277\230&\205\267h=d\bح22\b30\357\377\277\351\365\201\267ح22\bD\360\377\27702”)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gsignal.c:2980
    #23 0xb7836ba6 in IA__g_signal_emit (instance=0x868ea70, signal_id=155, detail=0)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gsignal.c:3037
    #24 0xb7b0f8ca in gtk_button_released () from /usr/lib/libgtk-x11-2.0.so.0
    #25 0xb7b0f903 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #26 0xb7bcf1a4 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #27 0xb781f5e9 in g_type_class_meta_marshal (closure=0x8643d68, return_value=0xbffff044, n_param_values=2, param_values=0x868ea70,
    invocation_hint=0xbffff030, marshal_data=0xb4)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gclosure.c:878
    #28 0xb7820f62 in IA__g_closure_invoke (closure=0x812add8, return_value=0xbffff044, n_param_values=2, param_values=0x8643d68,
    invocation_hint=0xbffff030) at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gclosure.c:767
    #29 0xb783509e in signal_emit_unlocked_R (node=, detail=, instance=0x868ea70,
    emission_return=0xbffff18c, instance_and_params=0x8643d68)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gsignal.c:3285
    #30 0xb78365b8 in IA__g_signal_emit_valist (instance=0x868ea70, signal_id=47, detail=0,
    var_args=0xbffff1f0 “,\362\377\277\204\321}\267h\362\377\277\244\265\203\267”)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gsignal.c:2990
    #31 0xb7836ba6 in IA__g_signal_emit (instance=0x868ea70, signal_id=47, detail=0)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gsignal.c:3037
    #32 0xb7ceb47e in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #33 0xb7bc7950 in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0
    #34 0xb7bc8bd9 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
    #35 0xb7a5253a in ?? () from /usr/lib/libgdk-x11-2.0.so.0
    #36 0xb7761b38 in g_main_dispatch (context=0x810bbe8) at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/glib/gmain.c:1960
    #37 IA__g_main_context_dispatch (context=0x810bbe8) at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/glib/gmain.c:2513
    #38 0xb77653d0 in g_main_context_iterate (context=0x810bbe8, block=, dispatch=1, self=0x80e6850)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/glib/gmain.c:2591
    #39 0xb776583f in IA__g_main_loop_run (loop=0x86937f0)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/glib/gmain.c:2799
    #40 0xb7bc9149 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
    #41 0x0806ab00 in main ()
    (gdb) up
    #1 0xb5bb0889 in gedit_collaboration_bookmark_get_user (bookmark=0x86c97a0) at gedit-collaboration-bookmark.c:237
    237 g_return_val_if_fail (GEDIT_COLLABORATION_IS_BOOKMARK (bookmark), NULL);
    (gdb) print bookmark
    $1 = (GeditCollaborationBookmark *) 0x86c97a0
    (gdb) print *bookmark
    $2 = {parent = {g_type_instance = {g_class = 0x8657b50}, ref_count = 0, qdata = 0x0}, priv = 0x190}
    (gdb)

    I did change this. Compilation went fine, though:
    pvanhoof@lors:~/repos/github/gedit-collaboration$ git diff
    diff –git a/configure.ac b/configure.ac
    index 19f777b..fe08f88 100644
    — a/configure.ac
    +++ b/configure.ac
    @@ -54,7 +54,7 @@ AM_GLIB_GNU_GETTEXT
    # ================================================================
    # Start of pkg-config checks
    # ================================================================
    -GEDIT_REQUIRED_VERSION=2.29.3
    +GEDIT_REQUIRED_VERSION=2.28.3
    PKG_CHECK_MODULES(GEDIT, [
    gedit-2.20 >= $GEDIT_REQUIRED_VERSION,
    gconf-2.0 >= 1.1.11
    pvanhoof@lors:~/repos/github/gedit-collaboration$

  5. Jesse van den Kieboom says:

    Oops again. It seems I changed something which I did not test (basicly, forgot to ref the bookmark). Fixed and pushed.

  6. Pingback: Disfunctions.de » Blog Archiv » gedit – Kollaboratives Arbeiten

  7. pvanhoof says:

    New error (happens at startup and when making the bookmark):

    For bug reporting instructions, please see:

    Reading symbols from /usr/bin/gedit…(no debugging symbols found)…done.
    (gdb) run
    Starting program: /usr/bin/gedit
    [Thread debugging using libthread_db enabled]
    [New Thread 0xb568eb70 (LWP 21132)]
    **
    ERROR:inf-gtk-browser-view.c:1943:inf_gtk_browser_view_status_icon_data_func: code should not be reached

    Program received signal SIGABRT, Aborted.
    0xb7fe2832 in ?? () from /lib/ld-linux.so.2
    (gdb) bt
    #0 0xb7fe2832 in ?? () from /lib/ld-linux.so.2
    #1 0xb75e58e0 in raise () from /lib/i686/cmov/libc.so.6
    #2 0xb75e8e15 in abort () from /lib/i686/cmov/libc.so.6
    #3 0xb7787289 in IA__g_assertion_message (domain=0x0, file=0xb5b88537 “inf-gtk-browser-view.c”, line=1943,
    func=0xb5b88c60 “inf_gtk_browser_view_status_icon_data_func”, message=0xb77a3412 “code should not be reached”)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/glib/gtestutils.c:1302
    #4 0xb5b7dc80 in ?? () from /usr/lib/libinfgtk-0.4.so.0
    #5 0xb7cdd972 in gtk_tree_view_column_cell_set_cell_data () from /usr/lib/libgtk-x11-2.0.so.0
    #6 0xb7cd52aa in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #7 0xb7cd5b59 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #8 0xb7cd5f82 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #9 0xb782df88 in IA__g_cclosure_marshal_VOID__BOXED (closure=0x8110f70, return_value=0x0, n_param_values=2,
    param_values=0x83f8948, invocation_hint=0xbfffcb10, marshal_data=0x8401e60)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gmarshal.c:566
    #10 0xb781f5e9 in g_type_class_meta_marshal (closure=0x8110f70, return_value=0x0, n_param_values=2, param_values=0x85bee00,
    invocation_hint=0xbfffcb10, marshal_data=0x7c)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gclosure.c:878
    #11 0xb7820e88 in IA__g_closure_invoke (closure=0x8110f70, return_value=0x0, n_param_values=2, param_values=0x85bee00,
    invocation_hint=0xbfffcb10) at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gclosure.c:767
    #12 0xb7834cb0 in signal_emit_unlocked_R (node=, detail=, instance=0x8244250,
    emission_return=0x0, instance_and_params=0x85bee00)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gsignal.c:3177
    #13 0xb783672d in IA__g_signal_emit_valist (instance=0x8244250, signal_id=31, detail=0,
    var_args=0xbfffcd1c “36\237\203\267\344\t\345\26764R?\bH\315\377\277\317\362÷”)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gsignal.c:2980
    #14 0xb7836a27 in IA__g_signal_emit_by_name (instance=0x8244250, detailed_signal=0xb7e05c75 “size-request”)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gsignal.c:3074
    #15 0xb7c3f016 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #16 0xb7c3f2cf in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #17 0xb7cf34af in gtk_widget_size_request () from /usr/lib/libgtk-x11-2.0.so.0
    #18 0xb5b7ced0 in ?? () from /usr/lib/libinfgtk-0.4.so.0
    #19 0xb782df88 in IA__g_cclosure_marshal_VOID__BOXED (closure=0x8110f70, return_value=0x0, n_param_values=2,
    param_values=0x8244250, invocation_hint=0xbfffcf10, marshal_data=0x8244250)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gmarshal.c:566
    #20 0xb781f5e9 in g_type_class_meta_marshal (closure=0x8110f70, return_value=0x0, n_param_values=2, param_values=0x85b0c28,
    invocation_hint=0xbfffcf10, marshal_data=0x7c)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gclosure.c:878
    #21 0xb7820e88 in IA__g_closure_invoke (closure=0x8110f70, return_value=0x0, n_param_values=2, param_values=0x85b0c28,
    invocation_hint=0xbfffcf10) at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gclosure.c:767
    #22 0xb7834cb0 in signal_emit_unlocked_R (node=, detail=, instance=0x83f5218,
    emission_return=0x0, instance_and_params=0x85b0c28)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gsignal.c:3177
    #23 0xb783672d in IA__g_signal_emit_valist (instance=0x83f5218, signal_id=31, detail=0,
    var_args=0xbfffd11c “.\357÷\344\t巘\321\377\277H\321\377\277\317\362÷\360e30\b\220E\341\267L\321\377\277\344\t\345\26730R?—Type to continue, or q to quit—
    \b\ff30\bh\321\377\277\25764Ϸ30R?\b\230\321\377\277\250\321\377\277\344\t\345\267\344\t\345\267\360e30\b\310\321\377\277\347@÷30R?\b\230\321\377\27734”) at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gsignal.c:2980
    #24 0xb7836a27 in IA__g_signal_emit_by_name (instance=0x83f5218, detailed_signal=0xb7e05c75 “size-request”)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gsignal.c:3074
    #25 0xb7c3f016 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #26 0xb7c3f2cf in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #27 0xb7cf34af in gtk_widget_size_request () from /usr/lib/libgtk-x11-2.0.so.0
    #28 0xb7c340e7 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #29 0xb782df88 in IA__g_cclosure_marshal_VOID__BOXED (closure=0x8110f70, return_value=0x0, n_param_values=2,
    param_values=0x83f5218, invocation_hint=0xbfffd350, marshal_data=0x83f5218)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gmarshal.c:566
    #30 0xb781f5e9 in g_type_class_meta_marshal (closure=0x8110f70, return_value=0x0, n_param_values=2, param_values=0x84497b8,
    invocation_hint=0xbfffd350, marshal_data=0x7c)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gclosure.c:878
    #31 0xb7820e88 in IA__g_closure_invoke (closure=0x8110f70, return_value=0x0, n_param_values=2, param_values=0x84497b8,
    invocation_hint=0xbfffd350) at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gclosure.c:767
    #32 0xb7834cb0 in signal_emit_unlocked_R (node=, detail=, instance=0x81865f0,
    emission_return=0x0, instance_and_params=0x84497b8)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gsignal.c:3177
    #33 0xb783672d in IA__g_signal_emit_valist (instance=0x81865f0, signal_id=31, detail=0,
    var_args=0xbfffd55c “.\357÷\344\t\345\267\370\325\377\277\210\325\377\277\317\362÷!\214b\267\210A\”\b\230\325\377\277\344\t\345\267\360e30\b<\211$\b\250\325\377\277\25764Ϸ\360e30\b\370\325\377\27702\200")
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gsignal.c:2980
    #34 0xb7836a27 in IA__g_signal_emit_by_name (instance=0x81865f0, detailed_signal=0xb7e05c75 "size-request")
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gsignal.c:3074
    #35 0xb7c3f016 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #36 0xb7c3f2cf in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #37 0xb7cf34af in gtk_widget_size_request () from /usr/lib/libgtk-x11-2.0.so.0
    #38 0xb7b08203 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #39 0xb782df88 in IA__g_cclosure_marshal_VOID__BOXED (closure=0x8110f70, return_value=0x0, n_param_values=2,
    param_values=0x81865f0, invocation_hint=0xbfffd7a0, marshal_data=0x81865f0)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gmarshal.c:566
    #40 0xb781f5e9 in g_type_class_meta_marshal (closure=0x8110f70, return_value=0x0, n_param_values=2, param_values=0x85b0c00,
    invocation_hint=0xbfffd7a0, marshal_data=0x7c)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gclosure.c:878
    #41 0xb7820e88 in IA__g_closure_invoke (closure=0x8110f70, return_value=0x0, n_param_values=2, param_values=0x85b0c00,
    invocation_hint=0xbfffd7a0) at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gclosure.c:767
    #42 0xb7834cb0 in signal_emit_unlocked_R (node=, detail=, instance=0x8248920,
    emission_return=0x0, instance_and_params=0x85b0c00)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gsignal.c:3177
    #43 0xb783672d in IA__g_signal_emit_valist (instance=0x8248920, signal_id=31, detail=0,
    var_args=0xbfffd9ac “.\357÷\344\t\345\267p\332\377\277\330\331\377\277\317\362÷\b”)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gsignal.c:2980
    #44 0xb7836a27 in IA__g_signal_emit_by_name (instance=0x8248920, detailed_signal=0xb7e05c75 “size-request”)
    —Type to continue, or q to quit—
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gsignal.c:3074
    #45 0xb7c3f016 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #46 0xb7c3f2cf in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #47 0xb7cf34af in gtk_widget_size_request () from /usr/lib/libgtk-x11-2.0.so.0
    #48 0xb7beee13 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #49 0xb782df88 in IA__g_cclosure_marshal_VOID__BOXED (closure=0x8110f70, return_value=0x0, n_param_values=2,
    param_values=0x8248920, invocation_hint=0xbfffdc30, marshal_data=0x8248920)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gmarshal.c:566
    #50 0xb781f5e9 in g_type_class_meta_marshal (closure=0x8110f70, return_value=0x0, n_param_values=2, param_values=0x85bee50,
    invocation_hint=0xbfffdc30, marshal_data=0x7c)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gclosure.c:878
    #51 0xb7820e88 in IA__g_closure_invoke (closure=0x8110f70, return_value=0x0, n_param_values=2, param_values=0x85bee50,
    invocation_hint=0xbfffdc30) at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gclosure.c:767
    #52 0xb7834cb0 in signal_emit_unlocked_R (node=, detail=, instance=0x8239800,
    emission_return=0x0, instance_and_params=0x85bee50)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gsignal.c:3177
    #53 0xb783672d in IA__g_signal_emit_valist (instance=0x8239800, signal_id=31, detail=0,
    var_args=0xbfffde3c “.\357÷\344\t\345\267\330\336\377\277h\336\377\277\317\362÷P=37\b\210\336\377\277\213\201\260\267\344\t”, ) at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gsignal.c:2980
    #54 0xb7836a27 in IA__g_signal_emit_by_name (instance=0x8239800, detailed_signal=0xb7e05c75 “size-request”)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gsignal.c:3074
    #55 0xb7c3f016 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #56 0xb7c3f2cf in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #57 0xb7cf34af in gtk_widget_size_request () from /usr/lib/libgtk-x11-2.0.so.0
    #58 0xb7b08203 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #59 0xb782df88 in IA__g_cclosure_marshal_VOID__BOXED (closure=0x8110f70, return_value=0x0, n_param_values=2,
    param_values=0x8239800, invocation_hint=0xbfffe080, marshal_data=0x8239800)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gmarshal.c:566
    #60 0xb781f5e9 in g_type_class_meta_marshal (closure=0x8110f70, return_value=0x0, n_param_values=2, param_values=0x85b0d90,
    invocation_hint=0xbfffe080, marshal_data=0x7c)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gclosure.c:878
    #61 0xb7820e88 in IA__g_closure_invoke (closure=0x8110f70, return_value=0x0, n_param_values=2, param_values=0x85b0d90,
    invocation_hint=0xbfffe080) at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gclosure.c:767
    #62 0xb7834cb0 in signal_emit_unlocked_R (node=, detail=, instance=0x8232938,
    emission_return=0x0, instance_and_params=0x85b0d90)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gsignal.c:3177
    #63 0xb783672d in IA__g_signal_emit_valist (instance=0x8232938, signal_id=31, detail=0, var_args=0xbfffe28c “”)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gsignal.c:2980
    #64 0xb7836a27 in IA__g_signal_emit_by_name (instance=0x8232938, detailed_signal=0xb7e05c75 “size-request”)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gsignal.c:3074
    #65 0xb7c3f016 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #66 0xb7c3f2cf in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #67 0xb7cf34af in gtk_widget_size_request () from /usr/lib/libgtk-x11-2.0.so.0
    #68 0xb7bf98ff in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    —Type to continue, or q to quit—
    #69 0xb782df88 in IA__g_cclosure_marshal_VOID__BOXED (closure=0x8110f70, return_value=0x0, n_param_values=2,
    param_values=0x8232938, invocation_hint=0xbfffe4a0, marshal_data=0x8232938)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gmarshal.c:566
    #70 0xb781f5e9 in g_type_class_meta_marshal (closure=0x8110f70, return_value=0x0, n_param_values=2, param_values=0x85bec78,
    invocation_hint=0xbfffe4a0, marshal_data=0x7c)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gclosure.c:878
    #71 0xb7820e88 in IA__g_closure_invoke (closure=0x8110f70, return_value=0x0, n_param_values=2, param_values=0x85bec78,
    invocation_hint=0xbfffe4a0) at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gclosure.c:767
    #72 0xb7834cb0 in signal_emit_unlocked_R (node=, detail=, instance=0x82332c8,
    emission_return=0x0, instance_and_params=0x85bec78)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gsignal.c:3177
    #73 0xb783672d in IA__g_signal_emit_valist (instance=0x82332c8, signal_id=31, detail=0,
    var_args=0xbfffe6ac “.\357÷\344\t\345\267H\347\377\277\330\346\377\277\317\362÷”)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gsignal.c:2980
    #74 0xb7836a27 in IA__g_signal_emit_by_name (instance=0x82332c8, detailed_signal=0xb7e05c75 “size-request”)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gsignal.c:3074
    #75 0xb7c3f016 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #76 0xb7c3f2cf in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #77 0xb7cf34af in gtk_widget_size_request () from /usr/lib/libgtk-x11-2.0.so.0
    #78 0xb7b08203 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #79 0xb782df88 in IA__g_cclosure_marshal_VOID__BOXED (closure=0x8110f70, return_value=0x0, n_param_values=2,
    param_values=0x82332c8, invocation_hint=0xbfffe8f0, marshal_data=0x82332c8)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gmarshal.c:566
    #80 0xb781f5e9 in g_type_class_meta_marshal (closure=0x8110f70, return_value=0x0, n_param_values=2, param_values=0x85bed90,
    invocation_hint=0xbfffe8f0, marshal_data=0x7c)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gclosure.c:878
    #81 0xb7820e88 in IA__g_closure_invoke (closure=0x8110f70, return_value=0x0, n_param_values=2, param_values=0x85bed90,
    invocation_hint=0xbfffe8f0) at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gclosure.c:767
    #82 0xb7834cb0 in signal_emit_unlocked_R (node=, detail=, instance=0x813a018,
    emission_return=0x0, instance_and_params=0x85bed90)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gsignal.c:3177
    #83 0xb783672d in IA__g_signal_emit_valist (instance=0x813a018, signal_id=31, detail=0,
    var_args=0xbfffeafc “30\355[\b\344\t\345\267h\353\377\277(\353\377\277\317\362÷\230\321鷰bc\b\240\365\201\267\344\t\345\26730\24023\b@\355[\bH\353\377\277\25764Ϸ30\24023\bh\353\377\27701\200”)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gsignal.c:2980
    #84 0xb7836a27 in IA__g_signal_emit_by_name (instance=0x813a018, detailed_signal=0xb7e05c75 “size-request”)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gsignal.c:3074
    #85 0xb7c3f016 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #86 0xb7c3f2cf in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #87 0xb7cf34af in gtk_widget_size_request () from /usr/lib/libgtk-x11-2.0.so.0
    #88 0xb7cfcafa in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #89 0xb782df88 in IA__g_cclosure_marshal_VOID__BOXED (closure=0x8110f70, return_value=0x0, n_param_values=2,
    param_values=0x813a018, invocation_hint=0xbfffed00, marshal_data=0x813a018)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gmarshal.c:566
    —Type to continue, or q to quit—
    #90 0xb781f5e9 in g_type_class_meta_marshal (closure=0x8110f70, return_value=0x0, n_param_values=2, param_values=0x85bed40,
    invocation_hint=0xbfffed00, marshal_data=0x7c)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gclosure.c:878
    #91 0xb7820f62 in IA__g_closure_invoke (closure=0x8110f70, return_value=0x0, n_param_values=2, param_values=0x85bed40,
    invocation_hint=0xbfffed00) at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gclosure.c:767
    #92 0xb7834cb0 in signal_emit_unlocked_R (node=, detail=, instance=0x8136068,
    emission_return=0x0, instance_and_params=0x85bed40)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gsignal.c:3177
    #93 0xb783672d in IA__g_signal_emit_valist (instance=0x8136068, signal_id=31, detail=0,
    var_args=0xbfffef0c “\204g\203\267\344\t”, )
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gsignal.c:2980
    #94 0xb7836a27 in IA__g_signal_emit_by_name (instance=0x8136068, detailed_signal=0xb7e05c75 “size-request”)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gsignal.c:3074
    #95 0xb7c3f016 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #96 0xb7c3f2cf in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #97 0xb7cf34af in gtk_widget_size_request () from /usr/lib/libgtk-x11-2.0.so.0
    #98 0xb7cfce6d in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #99 0xb7d06f7d in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #100 0xb782e91c in IA__g_cclosure_marshal_VOID__VOID (closure=0x8136068, return_value=0x0, n_param_values=1,
    param_values=0x8636950, invocation_hint=0xbffff2a0, marshal_data=0x8136068)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gmarshal.c:77
    #101 0xb781f5e9 in g_type_class_meta_marshal (closure=0x80e4468, return_value=0x0, n_param_values=1, param_values=0x8636950,
    invocation_hint=0xbffff2a0, marshal_data=0x5c)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gclosure.c:878
    #102 0xb7820f62 in IA__g_closure_invoke (closure=0x80e4468, return_value=0x0, n_param_values=1, param_values=0x8636950,
    invocation_hint=0xbffff2a0) at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gclosure.c:767
    #103 0xb7834cb0 in signal_emit_unlocked_R (node=, detail=, instance=0x8136068,
    emission_return=0x0, instance_and_params=0x8636950)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gsignal.c:3177
    #104 0xb783672d in IA__g_signal_emit_valist (instance=0x8136068, signal_id=25, detail=0,
    var_args=0xbffff45c “:_Ϸ8\a16\bh`23\b\210\364\377\277I\373Ϸh`23\b”)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gsignal.c:2980
    #105 0xb7836ba6 in IA__g_signal_emit (instance=0x8136068, signal_id=25, detail=0)
    at /build/buildd-glib2.0_2.22.4-1-i386-jRfNZE/glib2.0-2.22.4/gobject/gsignal.c:3037
    #106 0xb7cf5fc6 in gtk_widget_show () from /usr/lib/libgtk-x11-2.0.so.0
    #107 0xb7cffb49 in gtk_window_present () from /usr/lib/libgtk-x11-2.0.so.0
    #108 0x08095e13 in gedit_window_create_tab ()
    #109 0x0806ac04 in main ()
    (gdb)

  8. pvanhoof says:

    (luckily I have make uninstall :-P)

  9. Jesse van den Kieboom says:

    The last one is a bug in libinfinity. If you take the libinfinity-0.4 branch from git it should work.

  10. Brett says:

    OMG Thank you! <3

  11. Dylan McCall says:

    Awesome!

    Now I just wish gedit had different configuration profiles it could start up with (like the terminal). I can’t really justify having a million different plugins enabled at once, but things like this are just too awesome NOT to enable :)

  12. Pingback: jessevdk » gedit gobby collaboration

  13. ReinoutS says:

    Hi Jesse,

    Did you see the Call for Papers for Guadec 2010 yet? :-)
    http://2010.guadec.org/index.php/guadec/2010/schedConf/cfp

    • Jesse van den Kieboom says:

      I must admit, I can’t say that I did not think about it. And of course, it being in the Netherlands will make things easier :). I think getting gedit a bit under the attention of more people would be nice :)

  14. ReinoutS says:

    Cool. Your submission is welcomed, don’t wait too long! ;)

Leave a Reply

Your email address will not be published. Required fields are marked *