libgaim/gaim-client.c

Tue, 29 Aug 2006 02:22:08 +0000

author
Hil <allhilbert@users.sourceforge.net>
date
Tue, 29 Aug 2006 02:22:08 +0000
changeset 14432
3710852cdab5
parent 14254
77edc7a6191a
child 20470
77693555855f
permissions
-rw-r--r--

[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

mercurial