Mercurial > pidgin
annotate finch/gntdebug.c @ 17632:36ebcb33e2eb
This fixes a bustination of the official ICQ client in at least some
locales. For away (and possibly other) messages, apparently the
official ICQ (5.1?) client of some locales converts messages which are
stored in UTF-8 from a locale-native character set to UCS-2BE; this
results in something which, when decoded "correctly", is gibberish.
Instead, we first try decoding from UCS-2BE to the locale-specific
character set, and if that validates as UTF-8, we display it, instead.
Since UTF-8 is relatively picky, hopefully this won't break too many
sane clients.
author | Ethan Blanton <elb@pidgin.im> |
---|---|
date | Thu, 14 Jun 2007 18:20:53 +0000 |
parents | 47a9ba4f4373 |
children | d8b9bea550bc 2d4df5ef0090 |
rev | line source |
---|---|
15817 | 1 /** |
2 * @file gntdebug.c GNT Debug API | |
16194
0f0832c13fcb
Rename the Doxygen group from gntui to finch and define the finch group
Richard Laager <rlaager@wiktel.com>
parents:
16124
diff
changeset
|
3 * @ingroup finch |
15817 | 4 * |
15870
66dff3dfdea6
Re-sed the copyright notices so they don't all talk about Purple.
Richard Laager <rlaager@wiktel.com>
parents:
15822
diff
changeset
|
5 * finch |
15817 | 6 * |
15870
66dff3dfdea6
Re-sed the copyright notices so they don't all talk about Purple.
Richard Laager <rlaager@wiktel.com>
parents:
15822
diff
changeset
|
7 * Finch is the legal property of its developers, whose names are too numerous |
15817 | 8 * to list here. Please refer to the COPYRIGHT file distributed with this |
9 * source distribution. | |
10 * | |
11 * This program is free software; you can redistribute it and/or modify | |
12 * it under the terms of the GNU General Public License as published by | |
13 * the Free Software Foundation; either version 2 of the License, or | |
14 * (at your option) any later version. | |
15 * | |
16 * This program is distributed in the hope that it will be useful, | |
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
19 * GNU General Public License for more details. | |
20 * | |
21 * You should have received a copy of the GNU General Public License | |
22 * along with this program; if not, write to the Free Software | |
23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
24 */ | |
25 #include <gnt.h> | |
26 #include <gntbox.h> | |
27 #include <gntbutton.h> | |
28 #include <gntcheckbox.h> | |
17000
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16988
diff
changeset
|
29 #include <gntentry.h> |
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16988
diff
changeset
|
30 #include <gntlabel.h> |
15817 | 31 #include <gntline.h> |
17000
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16988
diff
changeset
|
32 #include <gnttextview.h> |
15817 | 33 |
34 #include "gntdebug.h" | |
15822 | 35 #include "finch.h" |
15817 | 36 #include "util.h" |
37 | |
38 #include <stdio.h> | |
39 #include <string.h> | |
40 | |
16424
4999bbc52881
Works for me! Renames prefs: /core to /purple, /gaim/gtk to /pidgin, /gaim/gnt to /finch
Sean Egan <seanegan@gmail.com>
parents:
16194
diff
changeset
|
41 #define PREF_ROOT "/finch/debug" |
15817 | 42 |
43 static struct | |
44 { | |
45 GntWidget *window; | |
46 GntWidget *tview; | |
17000
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16988
diff
changeset
|
47 GntWidget *search; |
15817 | 48 gboolean paused; |
49 } debug; | |
50 | |
17000
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16988
diff
changeset
|
51 static gboolean |
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16988
diff
changeset
|
52 match_string(const char *category, const char *args) |
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16988
diff
changeset
|
53 { |
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16988
diff
changeset
|
54 const char *str = gnt_entry_get_text(GNT_ENTRY(debug.search)); |
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16988
diff
changeset
|
55 if (!str || !*str) |
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16988
diff
changeset
|
56 return TRUE; |
17015
47a9ba4f4373
Fix debug filtering.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17000
diff
changeset
|
57 if (g_strrstr(category, str) != NULL) |
17000
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16988
diff
changeset
|
58 return TRUE; |
17015
47a9ba4f4373
Fix debug filtering.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17000
diff
changeset
|
59 if (g_strrstr(args, str) != NULL) |
17000
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16988
diff
changeset
|
60 return TRUE; |
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16988
diff
changeset
|
61 return FALSE; |
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16988
diff
changeset
|
62 } |
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16988
diff
changeset
|
63 |
15817 | 64 static void |
15822 | 65 finch_debug_print(PurpleDebugLevel level, const char *category, |
15817 | 66 const char *args) |
67 { | |
17000
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16988
diff
changeset
|
68 if (debug.window && !debug.paused && match_string(category, args)) |
15817 | 69 { |
70 int pos = gnt_text_view_get_lines_below(GNT_TEXT_VIEW(debug.tview)); | |
71 GntTextFormatFlags flag = GNT_TEXT_FLAG_NORMAL; | |
16988
87748f771638
The timestamp pref has been removed. Update finch accordingly.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16669
diff
changeset
|
72 const char *mdate; |
87748f771638
The timestamp pref has been removed. Update finch accordingly.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16669
diff
changeset
|
73 time_t mtime = time(NULL); |
87748f771638
The timestamp pref has been removed. Update finch accordingly.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16669
diff
changeset
|
74 mdate = purple_utf8_strftime("%H:%M:%S ", localtime(&mtime)); |
87748f771638
The timestamp pref has been removed. Update finch accordingly.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16669
diff
changeset
|
75 gnt_text_view_append_text_with_flags(GNT_TEXT_VIEW(debug.tview), |
87748f771638
The timestamp pref has been removed. Update finch accordingly.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16669
diff
changeset
|
76 mdate, flag); |
15817 | 77 |
78 gnt_text_view_append_text_with_flags(GNT_TEXT_VIEW(debug.tview), | |
79 category, GNT_TEXT_FLAG_BOLD); | |
80 gnt_text_view_append_text_with_flags(GNT_TEXT_VIEW(debug.tview), | |
81 ": ", GNT_TEXT_FLAG_BOLD); | |
82 | |
83 switch (level) | |
84 { | |
15822 | 85 case PURPLE_DEBUG_WARNING: |
15817 | 86 flag |= GNT_TEXT_FLAG_UNDERLINE; |
15822 | 87 case PURPLE_DEBUG_ERROR: |
88 case PURPLE_DEBUG_FATAL: | |
15817 | 89 flag |= GNT_TEXT_FLAG_BOLD; |
90 break; | |
91 default: | |
92 break; | |
93 } | |
94 | |
95 gnt_text_view_append_text_with_flags(GNT_TEXT_VIEW(debug.tview), args, flag); | |
96 if (pos <= 1) | |
97 gnt_text_view_scroll(GNT_TEXT_VIEW(debug.tview), 0); | |
98 } | |
99 } | |
100 | |
15985
6dc5dc83a61b
Add a whimpy ui op to the debug API that returns TRUE if debugging
Mark Doliner <mark@kingant.net>
parents:
15870
diff
changeset
|
101 static gboolean |
6dc5dc83a61b
Add a whimpy ui op to the debug API that returns TRUE if debugging
Mark Doliner <mark@kingant.net>
parents:
15870
diff
changeset
|
102 finch_debug_is_enabled(PurpleDebugLevel level, const char *category) |
6dc5dc83a61b
Add a whimpy ui op to the debug API that returns TRUE if debugging
Mark Doliner <mark@kingant.net>
parents:
15870
diff
changeset
|
103 { |
6dc5dc83a61b
Add a whimpy ui op to the debug API that returns TRUE if debugging
Mark Doliner <mark@kingant.net>
parents:
15870
diff
changeset
|
104 return debug.window && !debug.paused; |
6dc5dc83a61b
Add a whimpy ui op to the debug API that returns TRUE if debugging
Mark Doliner <mark@kingant.net>
parents:
15870
diff
changeset
|
105 } |
6dc5dc83a61b
Add a whimpy ui op to the debug API that returns TRUE if debugging
Mark Doliner <mark@kingant.net>
parents:
15870
diff
changeset
|
106 |
15822 | 107 static PurpleDebugUiOps uiops = |
15817 | 108 { |
109 finch_debug_print, | |
16669
30829e806dae
And finch is up to date
Gary Kramlich <grim@reaperworld.com>
parents:
16424
diff
changeset
|
110 finch_debug_is_enabled, |
30829e806dae
And finch is up to date
Gary Kramlich <grim@reaperworld.com>
parents:
16424
diff
changeset
|
111 |
30829e806dae
And finch is up to date
Gary Kramlich <grim@reaperworld.com>
parents:
16424
diff
changeset
|
112 /* padding */ |
30829e806dae
And finch is up to date
Gary Kramlich <grim@reaperworld.com>
parents:
16424
diff
changeset
|
113 NULL, |
30829e806dae
And finch is up to date
Gary Kramlich <grim@reaperworld.com>
parents:
16424
diff
changeset
|
114 NULL, |
30829e806dae
And finch is up to date
Gary Kramlich <grim@reaperworld.com>
parents:
16424
diff
changeset
|
115 NULL, |
30829e806dae
And finch is up to date
Gary Kramlich <grim@reaperworld.com>
parents:
16424
diff
changeset
|
116 NULL |
15817 | 117 }; |
118 | |
15822 | 119 PurpleDebugUiOps *finch_debug_get_ui_ops() |
15817 | 120 { |
121 return &uiops; | |
122 } | |
123 | |
124 static void | |
125 reset_debug_win(GntWidget *w, gpointer null) | |
126 { | |
17000
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16988
diff
changeset
|
127 debug.window = debug.tview = debug.search = NULL; |
15817 | 128 } |
129 | |
130 static void | |
131 clear_debug_win(GntWidget *w, GntTextView *tv) | |
132 { | |
133 gnt_text_view_clear(tv); | |
134 } | |
135 | |
136 static void | |
137 print_stderr(const char *string) | |
138 { | |
139 g_printerr("%s", string); | |
140 } | |
141 | |
142 static void | |
143 suppress_error_messages(const char *message) | |
144 {} | |
145 | |
146 static void | |
147 toggle_pause(GntWidget *w, gpointer n) | |
148 { | |
149 debug.paused = !debug.paused; | |
150 } | |
151 | |
152 /* Xerox */ | |
153 static void | |
15822 | 154 purple_glib_log_handler(const gchar *domain, GLogLevelFlags flags, |
15817 | 155 const gchar *msg, gpointer user_data) |
156 { | |
15822 | 157 PurpleDebugLevel level; |
15817 | 158 char *new_msg = NULL; |
159 char *new_domain = NULL; | |
160 | |
161 if ((flags & G_LOG_LEVEL_ERROR) == G_LOG_LEVEL_ERROR) | |
15822 | 162 level = PURPLE_DEBUG_ERROR; |
15817 | 163 else if ((flags & G_LOG_LEVEL_CRITICAL) == G_LOG_LEVEL_CRITICAL) |
15822 | 164 level = PURPLE_DEBUG_FATAL; |
15817 | 165 else if ((flags & G_LOG_LEVEL_WARNING) == G_LOG_LEVEL_WARNING) |
15822 | 166 level = PURPLE_DEBUG_WARNING; |
15817 | 167 else if ((flags & G_LOG_LEVEL_MESSAGE) == G_LOG_LEVEL_MESSAGE) |
15822 | 168 level = PURPLE_DEBUG_INFO; |
15817 | 169 else if ((flags & G_LOG_LEVEL_INFO) == G_LOG_LEVEL_INFO) |
15822 | 170 level = PURPLE_DEBUG_INFO; |
15817 | 171 else if ((flags & G_LOG_LEVEL_DEBUG) == G_LOG_LEVEL_DEBUG) |
15822 | 172 level = PURPLE_DEBUG_MISC; |
15817 | 173 else |
174 { | |
15822 | 175 purple_debug_warning("gntdebug", |
15817 | 176 "Unknown glib logging level in %d\n", flags); |
177 | |
15822 | 178 level = PURPLE_DEBUG_MISC; /* This will never happen. */ |
15817 | 179 } |
180 | |
181 if (msg != NULL) | |
15822 | 182 new_msg = purple_utf8_try_convert(msg); |
15817 | 183 |
184 if (domain != NULL) | |
15822 | 185 new_domain = purple_utf8_try_convert(domain); |
15817 | 186 |
187 if (new_msg != NULL) | |
188 { | |
15822 | 189 purple_debug(level, (new_domain != NULL ? new_domain : "g_log"), |
15817 | 190 "%s\n", new_msg); |
191 | |
192 g_free(new_msg); | |
193 } | |
194 | |
195 g_free(new_domain); | |
196 } | |
197 | |
198 static void | |
199 size_changed_cb(GntWidget *widget, int oldw, int oldh) | |
200 { | |
201 int w, h; | |
202 gnt_widget_get_size(widget, &w, &h); | |
15822 | 203 purple_prefs_set_int(PREF_ROOT "/size/width", w); |
204 purple_prefs_set_int(PREF_ROOT "/size/height", h); | |
15817 | 205 } |
206 | |
17000
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16988
diff
changeset
|
207 static gboolean |
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16988
diff
changeset
|
208 for_real(gpointer entry) |
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16988
diff
changeset
|
209 { |
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16988
diff
changeset
|
210 purple_prefs_set_string(PREF_ROOT "/filter", gnt_entry_get_text(entry)); |
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16988
diff
changeset
|
211 return FALSE; |
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16988
diff
changeset
|
212 } |
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16988
diff
changeset
|
213 |
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16988
diff
changeset
|
214 static void |
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16988
diff
changeset
|
215 update_filter_string(GntEntry *entry, gpointer null) |
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16988
diff
changeset
|
216 { |
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16988
diff
changeset
|
217 int id = g_timeout_add(1000, for_real, entry); |
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16988
diff
changeset
|
218 g_object_set_data_full(G_OBJECT(entry), "update-filter", GINT_TO_POINTER(id), |
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16988
diff
changeset
|
219 (GDestroyNotify)g_source_remove); |
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16988
diff
changeset
|
220 } |
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16988
diff
changeset
|
221 |
15817 | 222 void finch_debug_window_show() |
223 { | |
224 debug.paused = FALSE; | |
225 if (debug.window == NULL) | |
226 { | |
227 GntWidget *wid, *box; | |
228 debug.window = gnt_vbox_new(FALSE); | |
229 gnt_box_set_toplevel(GNT_BOX(debug.window), TRUE); | |
230 gnt_box_set_title(GNT_BOX(debug.window), _("Debug Window")); | |
231 gnt_box_set_pad(GNT_BOX(debug.window), 0); | |
232 gnt_box_set_alignment(GNT_BOX(debug.window), GNT_ALIGN_MID); | |
233 | |
234 debug.tview = gnt_text_view_new(); | |
235 gnt_box_add_widget(GNT_BOX(debug.window), debug.tview); | |
236 gnt_widget_set_size(debug.tview, | |
15822 | 237 purple_prefs_get_int(PREF_ROOT "/size/width"), |
238 purple_prefs_get_int(PREF_ROOT "/size/height")); | |
15817 | 239 g_signal_connect(G_OBJECT(debug.tview), "size_changed", G_CALLBACK(size_changed_cb), NULL); |
240 | |
241 gnt_box_add_widget(GNT_BOX(debug.window), gnt_line_new(FALSE)); | |
242 | |
243 box = gnt_hbox_new(FALSE); | |
244 gnt_box_set_alignment(GNT_BOX(box), GNT_ALIGN_MID); | |
245 gnt_box_set_fill(GNT_BOX(box), FALSE); | |
246 | |
247 /* XXX: Setting the GROW_Y for the following widgets don't make sense. But right now | |
248 * it's necessary to make the width of the debug window resizable ... like I said, | |
249 * it doesn't make sense. The bug is likely in the packing in gntbox.c. | |
250 */ | |
251 wid = gnt_button_new(_("Clear")); | |
252 g_signal_connect(G_OBJECT(wid), "activate", G_CALLBACK(clear_debug_win), debug.tview); | |
253 GNT_WIDGET_SET_FLAGS(wid, GNT_WIDGET_GROW_Y); | |
254 gnt_box_add_widget(GNT_BOX(box), wid); | |
255 | |
17000
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16988
diff
changeset
|
256 debug.search = gnt_entry_new(purple_prefs_get_string(PREF_ROOT "/filter")); |
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16988
diff
changeset
|
257 gnt_box_add_widget(GNT_BOX(box), gnt_label_new(_("Filter: "))); |
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16988
diff
changeset
|
258 gnt_box_add_widget(GNT_BOX(box), debug.search); |
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16988
diff
changeset
|
259 g_signal_connect(G_OBJECT(debug.search), "text_changed", G_CALLBACK(update_filter_string), NULL); |
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16988
diff
changeset
|
260 |
15817 | 261 wid = gnt_check_box_new(_("Pause")); |
262 g_signal_connect(G_OBJECT(wid), "toggled", G_CALLBACK(toggle_pause), NULL); | |
263 GNT_WIDGET_SET_FLAGS(wid, GNT_WIDGET_GROW_Y); | |
264 gnt_box_add_widget(GNT_BOX(box), wid); | |
265 | |
266 gnt_box_add_widget(GNT_BOX(debug.window), box); | |
267 GNT_WIDGET_SET_FLAGS(box, GNT_WIDGET_GROW_Y); | |
268 | |
269 gnt_widget_set_name(debug.window, "debug-window"); | |
270 | |
271 g_signal_connect(G_OBJECT(debug.window), "destroy", G_CALLBACK(reset_debug_win), NULL); | |
16124
ab3f93232a2d
Add a utility function to assist scrolling in a textview.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
15985
diff
changeset
|
272 gnt_text_view_attach_scroll_widget(GNT_TEXT_VIEW(debug.tview), debug.window); |
15817 | 273 } |
274 | |
275 gnt_widget_show(debug.window); | |
276 } | |
277 | |
278 static gboolean | |
279 start_with_debugwin(gpointer null) | |
280 { | |
281 finch_debug_window_show(); | |
282 return FALSE; | |
283 } | |
284 | |
285 void finch_debug_init() | |
286 { | |
287 /* Xerox */ | |
288 #define REGISTER_G_LOG_HANDLER(name) \ | |
289 g_log_set_handler((name), G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL \ | |
290 | G_LOG_FLAG_RECURSION, \ | |
15822 | 291 purple_glib_log_handler, NULL) |
15817 | 292 |
293 /* Register the glib log handlers. */ | |
294 REGISTER_G_LOG_HANDLER(NULL); | |
295 REGISTER_G_LOG_HANDLER("GLib"); | |
296 REGISTER_G_LOG_HANDLER("GModule"); | |
297 REGISTER_G_LOG_HANDLER("GLib-GObject"); | |
298 REGISTER_G_LOG_HANDLER("GThread"); | |
299 | |
300 g_set_print_handler(print_stderr); /* Redirect the debug messages to stderr */ | |
301 g_set_printerr_handler(suppress_error_messages); | |
302 | |
15822 | 303 purple_prefs_add_none(PREF_ROOT); |
17000
531a4585d437
Now that timestamps are gone, let's allow filter strings in the debug window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16988
diff
changeset
|
304 purple_prefs_add_string(PREF_ROOT "/filter", ""); |
15822 | 305 purple_prefs_add_none(PREF_ROOT "/size"); |
306 purple_prefs_add_int(PREF_ROOT "/size/width", 60); | |
307 purple_prefs_add_int(PREF_ROOT "/size/height", 15); | |
15817 | 308 |
15822 | 309 if (purple_debug_is_enabled()) |
15817 | 310 g_timeout_add(0, start_with_debugwin, NULL); |
311 } | |
312 | |
313 void finch_debug_uninit() | |
314 { | |
315 } | |
316 |