view doc/gtkconv-signals.dox @ 29695:ab168cf2713e

oscar: In aim_parse_extstatus, always pass the type (always expected). Patch and valgrind log from Florian Quze, though IMHO this is not the crash also linked to (http://crash-stats.instantbird.com/report/index/57fd593b-4545-4f5b-a7b6-5fe7f2100409) ==16902== Conditional jump or move depends on uninitialised value(s) ==16902== at 0x2200BD0E: oscar_icon_req (oscar.c:6141) ==16902== by 0x21FF10E4: aim_parse_extstatus (family_oservice.c:1123) ==16902== by 0x21FF145D: snachandler (family_oservice.c:1160) ==16902== by 0x21FF725D: parse_snac (flap_connection.c:765) ==16902== by 0x21FF74F9: parse_flap (flap_connection.c:851) ==16902== by 0x21FF7867: flap_connection_recv (flap_connection.c:986) ==16902== by 0x21FF78D8: flap_connection_recv_cb_ssl (flap_connection.c:1009) ==16902== by 0x21EC33B4: recv_cb (sslconn.c:157) ==16902== by 0x21B92F78: purpleSocket::CallLibpurpleCallback() (purpleSockets.cpp:135) ==16902== by 0x21B93B68: purpleSocket::NotifyLibPurple(short) (purpleSockets.cpp:152) ==16902== by 0x5BF40A: NS_InvokeByIndex_P (xptcinvoke_unixish_x86.cpp:179) ==16902== by 0x5AC277: nsProxyObjectCallInfo::Run() (nsProxyEvent.cpp:181) ==16902== ==16902== Conditional jump or move depends on uninitialised value(s) ==16902== at 0x2200BD14: oscar_icon_req (oscar.c:6141) ==16902== by 0x21FF10E4: aim_parse_extstatus (family_oservice.c:1123) ==16902== by 0x21FF145D: snachandler (family_oservice.c:1160) ==16902== by 0x21FF725D: parse_snac (flap_connection.c:765) ==16902== by 0x21FF74F9: parse_flap (flap_connection.c:851) ==16902== by 0x21FF7867: flap_connection_recv (flap_connection.c:986) ==16902== by 0x21FF78D8: flap_connection_recv_cb_ssl (flap_connection.c:1009) ==16902== by 0x21EC33B4: recv_cb (sslconn.c:157) ==16902== by 0x21B92F78: purpleSocket::CallLibpurpleCallback() (purpleSockets.cpp:135) ==16902== by 0x21B93B68: purpleSocket::NotifyLibPurple(short) (purpleSockets.cpp:152) ==16902== by 0x5BF40A: NS_InvokeByIndex_P (xptcinvoke_unixish_x86.cpp:179) ==16902== by 0x5AC277: nsProxyObjectCallInfo::Run() (nsProxyEvent.cpp:181) ==16902== ==16902== Conditional jump or move depends on uninitialised value(s) ==16902== at 0x2200BE12: oscar_icon_req (oscar.c:6160) ==16902== by 0x21FF10E4: aim_parse_extstatus (family_oservice.c:1123) ==16902== by 0x21FF145D: snachandler (family_oservice.c:1160) ==16902== by 0x21FF725D: parse_snac (flap_connection.c:765) ==16902== by 0x21FF74F9: parse_flap (flap_connection.c:851) ==16902== by 0x21FF7867: flap_connection_recv (flap_connection.c:986) ==16902== by 0x21FF78D8: flap_connection_recv_cb_ssl (flap_connection.c:1009) ==16902== by 0x21EC33B4: recv_cb (sslconn.c:157) ==16902== by 0x21B92F78: purpleSocket::CallLibpurpleCallback() (purpleSockets.cpp:135) ==16902== by 0x21B93B68: purpleSocket::NotifyLibPurple(short) (purpleSockets.cpp:152) ==16902== by 0x5BF40A: NS_InvokeByIndex_P (xptcinvoke_unixish_x86.cpp:179) ==16902== by 0x5AC277: nsProxyObjectCallInfo::Run() (nsProxyEvent.cpp:181) ==16902== committer: Paul Aurich <paul@darkrain42.org>
author Florian Quèze <florian@instantbird.org>
date Sat, 10 Apr 2010 18:28:45 +0000
parents 0d8061bbfc1d
children 02a2e8183b1d
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
  @signal conversation-hiding
  @signal conversation-displayed
 @endsignals

 @see gtkconv.h

 <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,
                                gboolean show_date);
  @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.
  @param show_date Whether the date should be displayed.
  @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

 @signaldef conversation-hiding
  @signalproto
void (*conversation_hiding)(PidginConversation *gtkconv);
  @endsignalproto
  @signaldesc
   Emitted immediately before an existing conversation is hidden.
  @param gtkconv  The PidginConversation
  @since 2.2.0
 @endsignaldef

 @signaldef conversation-displayed
  @signalproto
void (*conversation_displayed)(PidginConversation *gtkconv);
  @endsignalproto
  @signaldesc
   Emitted right after the Pidgin UI is attached to a new or a hidden conversation.
  @param gtkconv  The PidginConversation
  @since 2.2.0
 @endsignaldef

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