view doc/gtkconv-signals.dox @ 18088:c138916a49b3

I think it's reasonable to search through a haystack that is the empty string. This gets rid of the following assertion failure for me: #0 0x00002b7f5ebdccab in raise () from /lib/libc.so.6 #1 0x00002b7f5ebde660 in abort () from /lib/libc.so.6 #2 0x00002b7f5e046b1b in g_logv () from /usr/lib/libglib-2.0.so.0 #3 0x00002b7f5e046bb3 in g_log () from /usr/lib/libglib-2.0.so.0 #4 0x00002b7f5e326746 in purple_markup_find_tag (needle=0x2b7f5e33fb89 "img", haystack=0x11fcf6c "", start=0x7fff51043070, end=0x7fff51043068, attributes=0x7fff51043060) at util.c:1016 #5 0x00002b7f5e2fa9f4 in convert_image_tags (log=0x931a80, msg=0x11fcf60 "<IMG ID=\"1\">") at log.c:709 #6 0x00002b7f5e2fba15 in html_logger_write (log=0x931a80, type=4097, from=0x778e00 "lk80z", time=1181547027, message=0x11fcf60 "<IMG ID=\"1\">") at log.c:1339 #7 0x00002b7f5e2f8fee in purple_log_write (log=0x931a80, type=4097, from=0x778e00 "lk80z", time=1181547027, message=0x11fcf60 "<IMG ID=\"1\">") at log.c:155 #8 0x00002b7f5e2eca6c in purple_conversation_write (conv=0x1041500, who=0xf50ba0 "giantpucepanda", message=0x11ec670 "<IMG ID=\"1\">", flags=4097, mtime=1181547027) at conversation.c:883 #9 0x0000000000452ca5 in pidgin_conv_write_im (conv=0x1041500, who=0x0, message=0x11ec670 "<IMG ID=\"1\">", flags=4097, mtime=1181547027) at gtkconv.c:4827 #10 0x00002b7f5e2ed21e in purple_conv_im_write (im=0x111b170, who=0x0, message=0x11ec670 "<IMG ID=\"1\">", flags=4097, mtime=1181547027)
author Mark Doliner <mark@kingant.net>
date Mon, 11 Jun 2007 07:45:19 +0000
parents 8cf53d7a0887
children 7971aadbf56c
line wrap: on
line source

/** @page gtkconv-signals GtkConv Signals

 @signals
  @signal conversation-dragging
  @signal conversation-timestamp
  @signal displaying-im-msg
  @signal displayed-im-msg
  @signal displaying-chat-msg
  @signal displayed-chat-msg
  @signal conversation-switched
 @endsignals

 <hr>

 @signaldef conversation-dragging
  @signalproto
void (*conversation_dragging)(PidginWindow *source, PidginWindow *destination);
  @endsignalproto
  @signaldesc
   Emitted when a conversation is being drag and dropped between windows.
  @param source The window where the conversation is.
  @param destination The window where the conversation will be moved to.
 @endsignaldef

 @signaldef conversation-timestamp
  @signalproto
char *(*conversation_timestamp)(PurpleConversation *conv, time_t when);
  @endsignalproto
  @signaldesc
   Emitted to allow plugins to customize the timestamp on a message.
  @param conv The conversation the message belongs to.
  @param when The time to be converted to a string.
  @return A textual representation of the time, or @c NULL to use a
          default format.
 @endsignaldef


 @signaldef displaying-im-msg
  @signalproto
gboolean (*displaying_im_msg)(PurpleAccount *account, const char *who,
                              char **message, PurpleConversation *conv,
                              PurpleMessageFlags flags);
  @endsignalproto
  @signaldesc
   Emitted just before a message is displayed in an IM conversation.
   @a message is a pointer to a string, so the plugin can replace the
   message that will be displayed. This can also be used to cancel displaying
   a message by returning @c TRUE.
  @note
   Make sure to free @a *message before you replace it!
  @param account The account.
  @param who     The name of the user.
  @param message A pointer to the message.
  @param conv    The conversation.
  @param flags   Flags for this message.
  @return @c TRUE if the message should be canceled, or @c FALSE otherwise.
 @endsignaldef

 @signaldef displayed-im-msg
  @signalproto
void (*displayed_im_msg)(PurpleAccount *account, const char *who,
                         char *message, PurpleConversation *conv,
                         PurpleMessageFlags flags);
  @endsignalproto
  @signaldesc
   Emitted after a message is displayed in an IM conversation.
  @param account The account.
  @param who     The name of the user.
  @param message The message.
  @param conv    The conversation.
  @param flags   Flags for this message.
 @endsignaldef

 @signaldef displaying-chat-msg
  @signalproto
gboolean (*displaying_chat_msg)(PurpleAccount *account, const char *who,
                                char **message, PurpleConversation *conv,
                                PurpleMessageFlags flags);
  @endsignalproto
  @signaldesc
   Emitted just before a message is displayed in a chat.
   @a message is a pointer to a string, so the plugin can replace the
   message that will be displayed. This can also be used to cancel displaying
   a message by returning @c TRUE.
  @note
   Make sure to free @a *message before you replace it!
  @param account The account the message is being displayed and sent on.
  @param who     The name of the user.
  @param message A pointer to the message that will be displayed and sent.
  @param conv    The conversation the message is being displayed and sent on.
  @param flags   Flags for this message.
  @return @c TRUE if the message should be canceled, or @c FALSE otherwise.
 @endsignaldef

 @signaldef displayed-chat-msg
  @signalproto
void (*displayed_chat_msg)(PurpleAccount *account, const char *who,
                           char *message, PurpleConversation *conv,
                           PurpleMessageFlags flags);
  @endsignalproto
  @signaldesc
   Emitted after a message is displayed in a chat conversation.
  @param account The account the message is being displayed and sent on.
  @param who     The name of the user.
  @param message A pointer to the message that will be displayed and sent.
  @param conv    The conversation the message is being displayed and sent on.
  @param flags   Flags for this message.
 @endsignaldef

 @signaldef conversation-switched
  @signalproto
void (*conversation_switched)(PurpleConversation *conv);
  @endsignalproto
  @signaldesc
   Emitted when a window switched from one conversation to another.
  @param new_conv The now active conversation.
 @endsignaldef

*/
// vim: syntax=c tw=75 et