annotate libpurple/purple-send @ 29228:ee1ed5d16235

Save the event source ID for search_find_cb so that it's removed when the log dialog is closed. This fixes a double free which might be caused by having a large logset (and maybe pressing Close multiple times). It looks something like this, with a few variations: == Invalid read of size 8 == at 0x483001: search_find_cb (gtklog.c:425) == by 0xBB91E50: g_main_context_dispatch (gmain.c:1824) == by 0xBB953E7: g_main_context_iterate (gmain.c:2455) == by 0xBB958BC: g_main_loop_run (gmain.c:2663) == by 0x63AF606: gtk_main (gtkmain.c:1205) == by 0x485ADF: main (gtkmain.c:978) == Address 0x1b469860 is 56 bytes inside a block of size 72 free'd == at 0x4C239EF: free (vg_replace_malloc.c:323) == by 0x483A6C: destroy_cb (gtklog.c:223) == by 0xAB9B12C: g_closure_invoke (gclosure.c:767) == by 0xABB02B1: signal_emit_unlocked_R (gsignal.c:3247) == by 0xABB1806: g_signal_emit_valist (gsignal.c:2980) == by 0xABB1CD2: g_signal_emit (gsignal.c:3037) == by 0xAB9B12C: g_closure_invoke (gclosure.c:767) == by 0xABB02B1: signal_emit_unlocked_R (gsignal.c:3247) == by 0xABB1806: g_signal_emit_valist (gsignal.c:2980) == by 0xABB1CD2: g_signal_emit (gsignal.c:3037) == by 0x630ECB4: gtk_real_button_released (gtkbutton.c:1707) == by 0xAB9B12C: g_closure_invoke (gclosure.c:767) == Fixes #11071.
author Elliott Sales de Andrade <qulogic@pidgin.im>
date Tue, 05 Jan 2010 06:43:18 +0000
parents cea56d000b16
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
22014
942bf314fc8a These don't seem to require bash.
Richard Laager <rlaager@wiktel.com>
parents: 16143
diff changeset
1 #!/bin/sh
15885
c6e563dfaa7a More s/gaim/pidgin/ and s/gaim/purple/ and make the RPM spec file work a bit
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
2
c6e563dfaa7a More s/gaim/pidgin/ and s/gaim/purple/ and make the RPM spec file work a bit
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
3 METHOD_NAME=$1
c6e563dfaa7a More s/gaim/pidgin/ and s/gaim/purple/ and make the RPM spec file work a bit
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
4
c6e563dfaa7a More s/gaim/pidgin/ and s/gaim/purple/ and make the RPM spec file work a bit
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
5 if test -z "$METHOD_NAME"
c6e563dfaa7a More s/gaim/pidgin/ and s/gaim/purple/ and make the RPM spec file work a bit
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
6 then
c6e563dfaa7a More s/gaim/pidgin/ and s/gaim/purple/ and make the RPM spec file work a bit
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
7 cat <<EOF
16143
598b1b15b199 Trac Ticket #149 from JensenDied
Richard Laager <rlaager@wiktel.com>
parents: 15885
diff changeset
8 This program calls purple API functions using DBus and prints the return value.
598b1b15b199 Trac Ticket #149 from JensenDied
Richard Laager <rlaager@wiktel.com>
parents: 15885
diff changeset
9 If you are not interested in the return value, use purple-send-async.
15885
c6e563dfaa7a More s/gaim/pidgin/ and s/gaim/purple/ and make the RPM spec file work a bit
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
10
c6e563dfaa7a More s/gaim/pidgin/ and s/gaim/purple/ and make the RPM spec file work a bit
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
11 Usage:
c6e563dfaa7a More s/gaim/pidgin/ and s/gaim/purple/ and make the RPM spec file work a bit
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
12
c6e563dfaa7a More s/gaim/pidgin/ and s/gaim/purple/ and make the RPM spec file work a bit
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
13 $0 method-name type1:parameter1 type2:parameter2 ...
c6e563dfaa7a More s/gaim/pidgin/ and s/gaim/purple/ and make the RPM spec file work a bit
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
14
c6e563dfaa7a More s/gaim/pidgin/ and s/gaim/purple/ and make the RPM spec file work a bit
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
15 This shell script just invokes dbus-send, see man dbus-send for how
c6e563dfaa7a More s/gaim/pidgin/ and s/gaim/purple/ and make the RPM spec file work a bit
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
16 to specify the parameters.
c6e563dfaa7a More s/gaim/pidgin/ and s/gaim/purple/ and make the RPM spec file work a bit
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
17
c6e563dfaa7a More s/gaim/pidgin/ and s/gaim/purple/ and make the RPM spec file work a bit
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
18 Examples:
c6e563dfaa7a More s/gaim/pidgin/ and s/gaim/purple/ and make the RPM spec file work a bit
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
19
16143
598b1b15b199 Trac Ticket #149 from JensenDied
Richard Laager <rlaager@wiktel.com>
parents: 15885
diff changeset
20 $0 PurpleAccountsFindConnected string: string:prpl-jabber
598b1b15b199 Trac Ticket #149 from JensenDied
Richard Laager <rlaager@wiktel.com>
parents: 15885
diff changeset
21 $0 PurpleAccountsGetAll
598b1b15b199 Trac Ticket #149 from JensenDied
Richard Laager <rlaager@wiktel.com>
parents: 15885
diff changeset
22 $0 PurpleCoreQuit
15885
c6e563dfaa7a More s/gaim/pidgin/ and s/gaim/purple/ and make the RPM spec file work a bit
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
23
c6e563dfaa7a More s/gaim/pidgin/ and s/gaim/purple/ and make the RPM spec file work a bit
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
24 Use dbus-viewer to get the list of supported functions and their parameters.
c6e563dfaa7a More s/gaim/pidgin/ and s/gaim/purple/ and make the RPM spec file work a bit
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
25 EOF
c6e563dfaa7a More s/gaim/pidgin/ and s/gaim/purple/ and make the RPM spec file work a bit
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
26 exit 1
c6e563dfaa7a More s/gaim/pidgin/ and s/gaim/purple/ and make the RPM spec file work a bit
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
27 fi
c6e563dfaa7a More s/gaim/pidgin/ and s/gaim/purple/ and make the RPM spec file work a bit
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
28
c6e563dfaa7a More s/gaim/pidgin/ and s/gaim/purple/ and make the RPM spec file work a bit
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
29 shift
16143
598b1b15b199 Trac Ticket #149 from JensenDied
Richard Laager <rlaager@wiktel.com>
parents: 15885
diff changeset
30 dbus-send --dest=im.pidgin.purple.PurpleService --print-reply --type=method_call /im/pidgin/purple/PurpleObject im.pidgin.purple.PurpleInterface.$METHOD_NAME "$@"
15885
c6e563dfaa7a More s/gaim/pidgin/ and s/gaim/purple/ and make the RPM spec file work a bit
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
31