Thu, 07 Apr 2005 14:55:02 +0000
[gaim-migrate @ 12431]
" The following log snippets should explain it: " --rlaager
(20:24:00) rlaager: Regarding the signal handling
conversation the other day... I've written a patch to stop
calling signal handlers and return as soon as we find one
signal handler that returns TRUE to indicate that it's
handled the signal. Is this the right approach?
(20:24:22) Ethan Blanton (Paco-Paco): the trouble is that it's
documented to behave exactly the way it does
(20:24:31) Ethan Blanton (Paco-Paco): so changing it is
notbackwards compatible
(20:24:31) rlaager: I'm talking for HEAD.
(20:24:41) Ethan Blanton (Paco-Paco): oh, I think that's a
good approach, yes
(20:24:53) rlaager: The way I've described is how I
*expected* it to work, having not read the documentation.
(20:25:09) Ethan Blanton (Paco-Paco): I'm convinced
(20:27:04) Stu Tomlinson (nosnilmot): rlaager: this, I
assume, breaks the generic-ness of signals, by assuming
that any that return values return booleans?
(20:27:26) Ethan Blanton (Paco-Paco): please break it
(20:27:33) Ethan Blanton (Paco-Paco): we already have
out-parameters
(20:27:42) rlaager: nosnilmot: from what I can see, the
return type is handled as a (void *)... so I'm checking that
ret_value != NULL
(20:27:57) rlaager: nosnilmot: that's the correct way to do it,
right?
...
(20:29:01) Ethan Blanton (Paco-Paco): allowing a
meaningful return value is an over-engineering
(20:30:07) rlaager: even after this patch, you should be able
to return meaningful return values
(20:30:15) rlaager: it'll just short-circuit on the first handler
that does
committer: Luke Schierer <lschiere@pidgin.im>
| 9709 | 1 | /** |
| 2 | * @file gtkdialogs.h Assorted GTK+ dialogs | |
| 3 | * @defgroup gtkui GTK+ User Interface | |
| 4 | * | |
| 5 | * gaim | |
| 6 | * | |
| 7 | * Gaim is the legal property of its developers, whose names are too numerous | |
| 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 | */ | |
|
9713
bb37562302a1
[gaim-migrate @ 10574]
Mark Doliner <markdoliner@pidgin.im>
parents:
9709
diff
changeset
|
25 | #ifndef _GAIM_GTKDIALOGS_H_ |
|
bb37562302a1
[gaim-migrate @ 10574]
Mark Doliner <markdoliner@pidgin.im>
parents:
9709
diff
changeset
|
26 | #define _GAIM_GTKDIALOGS_H_ |
| 9709 | 27 | |
| 9791 | 28 | #include "gtkgaim.h" |
|
9718
aeee69c6c784
[gaim-migrate @ 10579]
Mark Doliner <markdoliner@pidgin.im>
parents:
9714
diff
changeset
|
29 | |
| 9709 | 30 | #include "account.h" |
| 31 | #include "conversation.h" | |
| 32 | ||
|
9713
bb37562302a1
[gaim-migrate @ 10574]
Mark Doliner <markdoliner@pidgin.im>
parents:
9709
diff
changeset
|
33 | /* Functions in gtkdialogs.c (these should actually stay in this file) */ |
|
9730
e59812364b8b
[gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents:
9728
diff
changeset
|
34 | void gaim_gtkdialogs_destroy_all(); |
|
9753
5951fd24250e
[gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents:
9730
diff
changeset
|
35 | void gaim_gtkdialogs_about(); |
|
9714
589046af53cb
[gaim-migrate @ 10575]
Mark Doliner <markdoliner@pidgin.im>
parents:
9713
diff
changeset
|
36 | void gaim_gtkdialogs_im(); |
|
9730
e59812364b8b
[gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents:
9728
diff
changeset
|
37 | void gaim_gtkdialogs_im_with_user(GaimAccount *, const char *); |
|
9714
589046af53cb
[gaim-migrate @ 10575]
Mark Doliner <markdoliner@pidgin.im>
parents:
9713
diff
changeset
|
38 | void gaim_gtkdialogs_info(); |
|
589046af53cb
[gaim-migrate @ 10575]
Mark Doliner <markdoliner@pidgin.im>
parents:
9713
diff
changeset
|
39 | void gaim_gtkdialogs_log(); |
|
589046af53cb
[gaim-migrate @ 10575]
Mark Doliner <markdoliner@pidgin.im>
parents:
9713
diff
changeset
|
40 | void gaim_gtkdialogs_warn(GaimConnection *, const char *); |
|
9730
e59812364b8b
[gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents:
9728
diff
changeset
|
41 | void gaim_gtkdialogs_alias_contact(GaimContact *); |
|
e59812364b8b
[gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents:
9728
diff
changeset
|
42 | void gaim_gtkdialogs_alias_buddy(GaimBuddy *); |
|
e59812364b8b
[gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents:
9728
diff
changeset
|
43 | void gaim_gtkdialogs_alias_chat(GaimChat *); |
|
9714
589046af53cb
[gaim-migrate @ 10575]
Mark Doliner <markdoliner@pidgin.im>
parents:
9713
diff
changeset
|
44 | |
|
9730
e59812364b8b
[gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents:
9728
diff
changeset
|
45 | void gaim_gtkdialogs_remove_buddy(GaimBuddy *); |
|
e59812364b8b
[gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents:
9728
diff
changeset
|
46 | void gaim_gtkdialogs_remove_group(GaimGroup *); |
|
e59812364b8b
[gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents:
9728
diff
changeset
|
47 | void gaim_gtkdialogs_remove_chat(GaimChat *); |
|
e59812364b8b
[gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents:
9728
diff
changeset
|
48 | void gaim_gtkdialogs_remove_contact(GaimContact *); |
|
9714
589046af53cb
[gaim-migrate @ 10575]
Mark Doliner <markdoliner@pidgin.im>
parents:
9713
diff
changeset
|
49 | |
|
589046af53cb
[gaim-migrate @ 10575]
Mark Doliner <markdoliner@pidgin.im>
parents:
9713
diff
changeset
|
50 | /* Everything after this should probably be moved elsewhere */ |
|
9713
bb37562302a1
[gaim-migrate @ 10574]
Mark Doliner <markdoliner@pidgin.im>
parents:
9709
diff
changeset
|
51 | |
| 9709 | 52 | /** |
| 53 | * Our UI's identifier. | |
| 54 | */ | |
| 55 | #define GAIM_DIALOG(x) x = gtk_window_new(GTK_WINDOW_TOPLEVEL); \ | |
| 56 | gtk_window_set_type_hint(GTK_WINDOW(x), GDK_WINDOW_TYPE_HINT_DIALOG) | |
| 57 | #define GAIM_WINDOW_ICONIFIED(x) (gdk_window_get_state(GTK_WIDGET(x)->window) & GDK_WINDOW_STATE_ICONIFIED) | |
| 58 | ||
| 59 | ||
| 60 | /* this is used for queuing messages received while away. This is really a UI function | |
| 61 | * which is why the struct is here. */ | |
| 62 | ||
| 63 | struct queued_message { | |
| 64 | char name[80]; | |
| 65 | char alias[80]; | |
| 66 | char *message; | |
| 67 | time_t tm; | |
| 68 | GaimAccount *account; | |
| 69 | GaimMessageFlags flags; | |
| 70 | }; | |
| 71 | ||
| 72 | struct smiley_theme { | |
| 73 | char *path; | |
| 74 | char *name; | |
| 75 | char *desc; | |
| 76 | char *icon; | |
| 77 | char *author; | |
|
10133
f9d70220a53e
[gaim-migrate @ 11197]
Mark Doliner <markdoliner@pidgin.im>
parents:
10125
diff
changeset
|
78 | |
| 9709 | 79 | struct smiley_list *list; |
| 80 | }; | |
| 81 | ||
|
10302
8c73238fb5d4
[gaim-migrate @ 11487]
Mark Doliner <markdoliner@pidgin.im>
parents:
10133
diff
changeset
|
82 | /* Globals in gtkmain.c */ |
| 9709 | 83 | extern int docklet_count; |
| 84 | ||
|
10302
8c73238fb5d4
[gaim-migrate @ 11487]
Mark Doliner <markdoliner@pidgin.im>
parents:
10133
diff
changeset
|
85 | /* Globals in gtkthemes.c */ |
| 9709 | 86 | extern struct smiley_theme *current_smiley_theme; |
| 87 | extern GSList *smiley_themes; | |
| 88 | ||
| 89 | /* Functions in session.c */ | |
| 90 | extern void session_init(gchar *, gchar *, gchar *); | |
| 91 | extern void session_end(); | |
| 92 | ||
|
10302
8c73238fb5d4
[gaim-migrate @ 11487]
Mark Doliner <markdoliner@pidgin.im>
parents:
10133
diff
changeset
|
93 | /* Functions in gtkthemes.c */ |
| 9709 | 94 | extern void smiley_themeize(GtkWidget *); |
| 95 | extern void smiley_theme_probe(); | |
| 96 | extern void load_smiley_theme(const char *file, gboolean load); | |
| 97 | extern GSList *get_proto_smileys(const char *id); | |
| 98 | ||
|
9713
bb37562302a1
[gaim-migrate @ 10574]
Mark Doliner <markdoliner@pidgin.im>
parents:
9709
diff
changeset
|
99 | #endif /* _GAIM_GTKDIALOGS_H_ */ |