Mercurial > pidgin.yaz
comparison src/gtkconv.c @ 11734:2f6b4c544d5b
[gaim-migrate @ 14025]
Is there a reason these were done using a g_timeout? It was causing a
crash for me. To reproduce:
1. Sign on an IRC account on freenode with a nick that is registered
with nickserv
2. You are sent messages from 2 people: nickserv and I think memoserv
3. Without looking at the second tab, close the conversation window
From the bt, it looked like the window would get closed, then a g_timeout
would be called and passed a pointer to the now non-existant
GaimGtkWindow
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Sun, 23 Oct 2005 02:41:51 +0000 |
parents | d9aab67a9e07 |
children | 3959c29f340f |
comparison
equal
deleted
inserted
replaced
11733:ef511dec9903 | 11734:2f6b4c544d5b |
---|---|
4718 | 4718 |
4719 if (gc != NULL) | 4719 if (gc != NULL) |
4720 prpl_info = GAIM_PLUGIN_PROTOCOL_INFO(gc->prpl); | 4720 prpl_info = GAIM_PLUGIN_PROTOCOL_INFO(gc->prpl); |
4721 | 4721 |
4722 if (win->menu.send_to != NULL) | 4722 if (win->menu.send_to != NULL) |
4723 g_timeout_add(0, (GSourceFunc)update_send_to_selection, win); | 4723 update_send_to_selection(win); |
4724 | 4724 |
4725 /* | 4725 /* |
4726 * Handle hiding and showing stuff based on what type of conv this is. | 4726 * Handle hiding and showing stuff based on what type of conv this is. |
4727 * Stuff that Gaim IMs support in general should be shown for IM | 4727 * Stuff that Gaim IMs support in general should be shown for IM |
4728 * conversations. Stuff that Gaim chats support in general should be | 4728 * conversations. Stuff that Gaim chats support in general should be |
4907 if (gaim_conversation_get_type(conv) == GAIM_CONV_TYPE_IM) | 4907 if (gaim_conversation_get_type(conv) == GAIM_CONV_TYPE_IM) |
4908 gaim_gtkconv_update_buddy_icon(conv); | 4908 gaim_gtkconv_update_buddy_icon(conv); |
4909 | 4909 |
4910 gaim_gtkconv_update_buttons_by_protocol(conv); | 4910 gaim_gtkconv_update_buttons_by_protocol(conv); |
4911 | 4911 |
4912 g_timeout_add(0, (GSourceFunc)update_send_to_selection, win); | 4912 update_send_to_selection(win); |
4913 | 4913 |
4914 gaim_gtkthemes_smiley_themeize(gtkconv->imhtml); | 4914 gaim_gtkthemes_smiley_themeize(gtkconv->imhtml); |
4915 | 4915 |
4916 update_tab_icon(conv); | 4916 update_tab_icon(conv); |
4917 } | 4917 } |
6425 focus_gtkconv = g_list_nth_data(gaim_gtk_conv_window_get_gtkconvs(win), | 6425 focus_gtkconv = g_list_nth_data(gaim_gtk_conv_window_get_gtkconvs(win), |
6426 gtk_notebook_get_current_page(GTK_NOTEBOOK(win->notebook))); | 6426 gtk_notebook_get_current_page(GTK_NOTEBOOK(win->notebook))); |
6427 gtk_widget_grab_focus(focus_gtkconv->entry); | 6427 gtk_widget_grab_focus(focus_gtkconv->entry); |
6428 | 6428 |
6429 if (gaim_gtk_conv_window_get_gtkconv_count(win) == 1) | 6429 if (gaim_gtk_conv_window_get_gtkconv_count(win) == 1) |
6430 g_timeout_add(0, (GSourceFunc)update_send_to_selection, win); | 6430 update_send_to_selection(win); |
6431 } | 6431 } |
6432 | 6432 |
6433 void | 6433 void |
6434 gaim_gtk_conv_window_remove_gtkconv(GaimGtkWindow *win, GaimGtkConversation *gtkconv) | 6434 gaim_gtk_conv_window_remove_gtkconv(GaimGtkWindow *win, GaimGtkConversation *gtkconv) |
6435 { | 6435 { |