[Pidgin] #1187: Send Custom Emoticons in MSN
Pidgin
trac at pidgin.im
Wed Sep 26 03:12:19 EDT 2007
#1187: Send Custom Emoticons in MSN
-----------------------+----------------------------------------------------
Reporter: salinasv | Owner: rlaager
Type: patch | Status: assigned
Priority: minor | Milestone: 2.2.1
Component: MSN | Version: 2.0
Resolution: | Keywords:
Pending: 0 |
-----------------------+----------------------------------------------------
Comment (by Twain28):
Hoping someone notices all this, I continue to post updates: anyone who
wants this patch to work should apply it to revision
{{{
225df0e615bb2eeed8c7af88c770ade3d78626fb , dated 8 August ,
compiled using Cywgwin with gtkspell-2.0.6 and silc-toolkit-1.0.2
}}}
the latest revision of that day also works, but lacks the try icon (matter
solved in later builds). Also, the patch is quite unstable even then:
closing Pidgin chashes with
{{{
pidgin.exe caused an Access Violation at location 6b8892b2 in module
libmsn.dll Reading from location 0000001c.
Registers:
eax=00000000 ebx=02018a80 ecx=00c20050 edx=00ca9338 esi=02311f38
edi=6b8a1080
eip=6b8892b2 esp=0023e9e0 ebp=0023e9f8 iopl=0 nv up ei pl nz na pe
nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000
efl=00200202
Call stack:
6B8892B2 libmsn.dll:6B8892B2 msn_del_smiley msn.c:779
static void msn_del_smiley(
PurpleConnection * pc = &{
PurplePlugin * prpl = ,
PurpleConnectionFlags flags = ,
PurpleConnectionState state = ,
PurpleAccount * account = ,
char * password = ,
int inpa = ,
GSList * buddy_chats = ,
void * proto_data = ,
char * display_name = ,
guint keepalive = ,
gboolean wants_to_die = ,
guint disconnect_timeout =
},
const char * smile = &'z'
)
...
msn_del_smiley(PurpleConnection *pc, const char *smile)
{
> MsnSession *session = pc->proto_data;
MsnUser *user = session->user;
GSList *emoticons = user->emoticons;
...
64A471D3 pidgin.dll:64A471D3 pidgin_account_del_from_smiley_list
gtkaccount.c:2708
static void pidgin_account_del_from_smiley_list(
PurpleAccount * account = &(indirect),
const char * smile = &'z'
)
...
account->custom_smileys = g_slist_remove(account->custom_smileys,
smiley);
if(prpl_info && prpl_info->del_smiley)
> prpl_info->del_smiley(account->gc, smile);
destroy_smiley(smiley);
...
67CC344E libpurple.dll:67CC344E purple_account_disconnect
account.c:1107
void purple_account_disconnect(
PurpleAccount * account = &(indirect)
)
...
/* Note that it forces the smile name to be the first element
* of the struct */
> ui_ops->del_custom_smiley(account, *(char **)smileys->data);
}
}
...
67CD37FC libpurple.dll:67CD37FC purple_connections_disconnect_all
connection.c:465
void purple_connections_disconnect_all(
)
...
gc = l->data;
gc->wants_to_die = TRUE;
> purple_account_disconnect(gc->account);
}
}
...
67CD8B7C libpurple.dll:67CD8B7C purple_core_quit core.c:186
void purple_core_quit(
)
...
/* Save .xml files, remove signals, etc. */
> purple_idle_uninit();
purple_ssl_uninit();
purple_pounces_uninit();
...
62743935 libgobject-2.0-0.dll:62743935 g_closure_invoke
62756FB5 libgobject-2.0-0.dll:62756FB5 g_signal_has_handler_pending
62757D5E libgobject-2.0-0.dll:62757D5E g_signal_emit_valist
62757FD6 libgobject-2.0-0.dll:62757FD6 g_signal_emit
6069C2A5 libgtk-win32-2.0-0.dll:6069C2A5 gtk_widget_activate
6058C71C libgtk-win32-2.0-0.dll:6058C71C gtk_menu_shell_activate_item
6058CA25 libgtk-win32-2.0-0.dll:6058CA25 gtk_menu_shell_activate_item
60578E62 libgtk-win32-2.0-0.dll:60578E62 gtk_marshal_VOID__UINT_STRING
62743935 libgobject-2.0-0.dll:62743935 g_closure_invoke
62756BE6 libgobject-2.0-0.dll:62756BE6 g_signal_has_handler_pending
62757ABC libgobject-2.0-0.dll:62757ABC g_signal_emit_valist
62757FD6 libgobject-2.0-0.dll:62757FD6 g_signal_emit
6069C434 libgtk-win32-2.0-0.dll:6069C434 gtk_widget_activate
60576011 libgtk-win32-2.0-0.dll:60576011 gtk_propagate_event
605772FD libgtk-win32-2.0-0.dll:605772FD gtk_main_do_event
6B070C5E libgdk-win32-2.0-0.dll:6B070C5E gdk_event_get_graphics_expose
672DEA67 libglib-2.0-0.dll:672DEA67 g_main_context_dispatch
672DFF3B libglib-2.0-0.dll:672DFF3B g_main_context_acquire
672E011A libglib-2.0-0.dll:672E011A g_main_loop_run
6057686E libgtk-win32-2.0-0.dll:6057686E gtk_main
64A891F7 pidgin.dll:64A891F7 pidgin_main gtkmain.c:884
int pidgin_main(
HINSTANCE hint = &{
int i = 9460301
},
int argc = 1,
char * * argv = &0x00032439
)
...
#ifdef _WIN32
> winpidgin_cleanup();
#endif
...
0040209B pidgin.exe:0040209B WinMain winpidgin.c:638
int WinMain(
struct HINSTANCE__ * hInstance = &{
int i = 9460301
},
struct HINSTANCE__ * hPrevInstance = &{
int i =
},
char * lpszCmdLine = "",
int nCmdShow = 1
)
...
}
> return pidgin_main(hInstance, __argc, __argv);
}
...
0040249A pidgin.exe:0040249A WinMain winpidgin.c:246
int WinMain(
struct HINSTANCE__ * hInstance = &{
int i =
},
struct HINSTANCE__ * hPrevInstance = &{
int i = 205881
},
char * lpszCmdLine = &'À',
int nCmdShow = 4214784
)
...
if (!read_reg_string(hkey, "SOFTWARE\\GTK\\2.0", "Path",
(LPBYTE) >kpath, &plen)) {
> printf("GTK+ Path Registry Key not found. "
"Assuming GTK+ is in the PATH.\n");
return;
...
00401247 pidgin.exe:00401247
004012B8 pidgin.exe:004012B8
7C816FD7 kernel32.dll:7C816FD7 RegisterWaitForInputIdle
}}}
Applying the patches to any other revision from that day on works with
some adjustments and compiles fine, but the sending won't work: buddies
will only recieve the name of the custom smiley. Some updates, please,
anyone???
--
Ticket URL: <http://developer.pidgin.im/ticket/1187#comment:52>
Pidgin <http://pidgin.im>
Pidgin
More information about the Tracker
mailing list