Tue, 29 Aug 2006 02:22:08 +0000
[gaim-migrate @ 17076]
SF Patch #1547720 from Hilbert
Fixes SF Bug #1541097
If you search, leave the Find dialog open, switch tabs, and search again, the search happens in the original tab. This patch fixes that bug. Now when you search, it searches in the active conversation window.
committer: Richard Laager <rlaager@pidgin.im>
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
1 | #define DBUS_API_SUBJECT_TO_CHANGE |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
2 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
3 | #include <dbus/dbus-glib.h> |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
4 | #include <stdio.h> |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
5 | #include <stdlib.h> |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
6 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
7 | #include "dbus-gaim.h" |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
8 | #include "gaim-client-bindings.h" |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
9 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
10 | static DBusGConnection *bus; |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
11 | static DBusGProxy *gaim_proxy; |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
12 | |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11277
diff
changeset
|
13 | static GList *garray_int_to_glist(GArray *array) |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11277
diff
changeset
|
14 | { |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11277
diff
changeset
|
15 | GList *list = NULL; |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11277
diff
changeset
|
16 | int i; |
|
11277
ab3c0b6c5ca5
[gaim-migrate @ 13467]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11241
diff
changeset
|
17 | |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11277
diff
changeset
|
18 | for (i = 0; i < array->len; i++) |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11277
diff
changeset
|
19 | list = g_list_append(list, GINT_TO_POINTER(g_array_index(array,gint,i))); |
|
11277
ab3c0b6c5ca5
[gaim-migrate @ 13467]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11241
diff
changeset
|
20 | |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11277
diff
changeset
|
21 | g_array_free(array, TRUE); |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11277
diff
changeset
|
22 | return list; |
|
11277
ab3c0b6c5ca5
[gaim-migrate @ 13467]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11241
diff
changeset
|
23 | } |
|
ab3c0b6c5ca5
[gaim-migrate @ 13467]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11241
diff
changeset
|
24 | |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11277
diff
changeset
|
25 | static GSList *garray_int_to_gslist(GArray *array) |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11277
diff
changeset
|
26 | { |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11277
diff
changeset
|
27 | GSList *list = NULL; |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11277
diff
changeset
|
28 | int i; |
|
11277
ab3c0b6c5ca5
[gaim-migrate @ 13467]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11241
diff
changeset
|
29 | |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11277
diff
changeset
|
30 | for (i = 0; i < array->len; i++) |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11277
diff
changeset
|
31 | list = g_slist_append(list, GINT_TO_POINTER(g_array_index(array,gint,i))); |
|
11277
ab3c0b6c5ca5
[gaim-migrate @ 13467]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11241
diff
changeset
|
32 | |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11277
diff
changeset
|
33 | g_array_free(array, TRUE); |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11277
diff
changeset
|
34 | return list; |
|
11277
ab3c0b6c5ca5
[gaim-migrate @ 13467]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11241
diff
changeset
|
35 | } |
|
ab3c0b6c5ca5
[gaim-migrate @ 13467]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11241
diff
changeset
|
36 | |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
37 | #include "gaim-client-bindings.c" |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
38 | |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11277
diff
changeset
|
39 | static void lose(const char *fmt, ...) G_GNUC_NORETURN G_GNUC_PRINTF (1, 2); |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11277
diff
changeset
|
40 | static void lose_gerror(const char *prefix, GError *error) G_GNUC_NORETURN; |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
41 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
42 | static void |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11277
diff
changeset
|
43 | lose(const char *str, ...) |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
44 | { |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11277
diff
changeset
|
45 | va_list args; |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
46 | |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11277
diff
changeset
|
47 | va_start(args, str); |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
48 | |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11277
diff
changeset
|
49 | vfprintf(stderr, str, args); |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11277
diff
changeset
|
50 | fputc('\n', stderr); |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
51 | |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11277
diff
changeset
|
52 | va_end(args); |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
53 | |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11277
diff
changeset
|
54 | exit(1); |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
55 | } |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
56 | |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
57 | static void |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11277
diff
changeset
|
58 | lose_gerror(const char *prefix, GError *error) |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
59 | { |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11277
diff
changeset
|
60 | lose("%s: %s", prefix, error->message); |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
61 | } |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
62 | |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11277
diff
changeset
|
63 | void gaim_init(void) |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11277
diff
changeset
|
64 | { |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11277
diff
changeset
|
65 | GError *error = NULL; |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
66 | |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11277
diff
changeset
|
67 | g_type_init (); |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
68 | |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11277
diff
changeset
|
69 | bus = dbus_g_bus_get (DBUS_BUS_SESSION, &error); |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11277
diff
changeset
|
70 | if (!bus) |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11277
diff
changeset
|
71 | lose_gerror ("Couldn't connect to session bus", error); |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
72 | |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11277
diff
changeset
|
73 | gaim_proxy = dbus_g_proxy_new_for_name (bus, |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11277
diff
changeset
|
74 | DBUS_SERVICE_GAIM, |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11277
diff
changeset
|
75 | DBUS_PATH_GAIM, |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11277
diff
changeset
|
76 | DBUS_INTERFACE_GAIM); |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
77 | |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11277
diff
changeset
|
78 | if (!gaim_proxy) |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
11277
diff
changeset
|
79 | lose_gerror ("Couldn't connect to the Gaim Service", error); |
|
11241
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
80 | } |
|
f62a71823fc3
[gaim-migrate @ 13404]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
81 |