[Pidgin] #1999: msimprpl 0.8 crashes on Windows when viewing tooltip text

Pidgin trac at pidgin.im
Sun Jul 1 19:10:11 EDT 2007


#1999: msimprpl 0.8 crashes on Windows when viewing tooltip text
--------------------------+-------------------------------------------------
 Reporter:  jeff          |       Owner:  jeff 
     Type:  defect        |      Status:  new  
 Priority:  minor         |   Milestone:  3.0.0
Component:  pidgin (gtk)  |     Version:  2.0.2
 Keywords:  msimprpl      |     Pending:  0    
--------------------------+-------------------------------------------------
 {{{
 pidgin.exe caused an Access Violation at location 77c478c0 in module
 msvcrt.dll Reading from location 00000000.

 Registers:
 eax=00000000 ebx=00000000 ecx=00000000 edx=00000000 esi=00000000
 edi=00000000
 eip=77c478c0 esp=0022f11c ebp=0022f498 iopl=0         nv up ei pl zr na po
 nc
 cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000
 efl=00000246

 Call stack:
 77C478C0  msvcrt.dll:77C478C0  strlen
 6730D487  libglib-2.0-0.dll:6730D487  g_win32_locale_filename_from_utf8
 67304B24  libglib-2.0-0.dll:67304B24  g_vasprintf
 672F4AD6  libglib-2.0-0.dll:672F4AD6  g_strdup_vprintf
 672F4AF8  libglib-2.0-0.dll:672F4AF8  g_strdup_printf
 62484C81  libmyspace.dll:62484C81  msim_tooltip_text  myspace.c:2538
 void msim_tooltip_text(
         PurpleBuddy * buddy = &(indirect),
         PurpleNotifyUserInfo * user_info = &(indirect),
         gboolean full = 1
 )
         ...
         (purple_blist_node_get_string(&buddy->node, "Headline")));

 >           purple_notify_user_info_add_pair(user_info, _("Song"),
                         g_strdup_printf("%s - %s",
         purple_blist_node_get_string(&buddy->node, "BandName"),
         ...

 64A4CC40  pidgin.dll:64A4CC40  create_tip_for_node  gtkblist.c:3085
 static struct tooltip_data * create_tip_for_node(
         PurpleBlistNode * node = &(indirect),
         gboolean full = 1
 )
         ...
         {
         /* Additional text from the PRPL */
 >       prpl_info->tooltip_text(b, user_info, full);
         }

         ...

 64A4CF9C  pidgin.dll:64A4CF9C  pidgin_blist_tooltip_timeout
 gtkblist.c:2643
 static gboolean pidgin_blist_tooltip_timeout(
         GtkWidget * tv = &(indirect)
 )
         ...
         if(PURPLE_BLIST_NODE_IS_BUDDY(child) &&
 buddy_is_displayable((PurpleBuddy*)child)) {
         struct tooltip_data *td = create_tip_for_node(child, (b ==
 (PurpleBuddy*)child));
 >       if (b == (PurpleBuddy *)child) {
         gtkblist->tooltipdata = g_list_prepend(gtkblist->tooltipdata, td);
         } else {
         ...

 672E0C46  libglib-2.0-0.dll:672E0C46  g_main_context_is_owner
 672DEA27  libglib-2.0-0.dll:672DEA27  g_main_context_dispatch
 672DFEFB  libglib-2.0-0.dll:672DFEFB  g_main_context_acquire
 672E00DA  libglib-2.0-0.dll:672E00DA  g_main_loop_run
 60575D4E  libgtk-win32-2.0-0.dll:60575D4E  gtk_main
 64A87C0C  pidgin.dll:64A87C0C  pidgin_main  gtkmain.c:849
 int pidgin_main(
         HINSTANCE hint = &{
                 int i = 9460301
         },
         int argc = 1,
         char * * argv = &0x003d37a9
 )
         ...

         #ifdef _WIN32
 >       winpidgin_cleanup();
         #endif

         ...

 00401CD8  pidgin.exe:00401CD8  WinMain  winpidgin.c:614
 int WinMain(
         struct HINSTANCE__ * hInstance = &{
                 int i = 9460301
         },
         struct HINSTANCE__ * hPrevInstance = &{
                 int i =
         },
         char * lpszCmdLine = "",
         int nCmdShow = 10
 )
         ...
         }

 >       return pidgin_main(hInstance, __argc, __argv);
         }

         ...

 004022DA  pidgin.exe:004022DA  WinMain  winpidgin.c:240
 int WinMain(
         struct HINSTANCE__ * hInstance = &{
                 int i =
         },
         struct HINSTANCE__ * hPrevInstance = &{
                 int i = 4011945
         },
         char * lpszCmdLine = "list:  Display a list of chat rooms on the
 network. <i>Warning, some servers may disconnect you upon doing
 this.</i>",
         int nCmdShow = 4214784
 )
         ...
         sizeof(DWORD)
         ) != ERROR_SUCCESS)
 >       printf("Error writing SafeDllSearchMode. Error: %u\n",
         (UINT) GetLastError());
         RegCloseKey(hkey);
         ...

 00401247  pidgin.exe:00401247
 004012B8  pidgin.exe:004012B8
 7C816FD7  kernel32.dll:7C816FD7  RegisterWaitForInputIdle
 }}}

-- 
Ticket URL: <http://developer.pidgin.im/ticket/1999>
Pidgin <http://pidgin.im>
Pidgin


More information about the Tracker mailing list