Mercurial > pidgin.yaz
comparison pidgin/plugins/timestamp.c @ 21677:bd36fdd36e92
Fix crashing in the Timestamp plugin. Fixes #4087.
author | Daniel Atallah <daniel.atallah@gmail.com> |
---|---|
date | Wed, 28 Nov 2007 02:14:29 +0000 |
parents | 3cc856ca2338 |
children | ea62e934c80b |
comparison
equal
deleted
inserted
replaced
21676:8afd3495c488 | 21677:bd36fdd36e92 |
---|---|
47 GtkTextBuffer *buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(imhtml)); | 47 GtkTextBuffer *buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(imhtml)); |
48 GtkTextIter iter; | 48 GtkTextIter iter; |
49 const char *mdate; | 49 const char *mdate; |
50 int y, height; | 50 int y, height; |
51 GdkRectangle rect; | 51 GdkRectangle rect; |
52 | 52 |
53 /* display timestamp */ | 53 /* display timestamp */ |
54 mdate = purple_utf8_strftime(then == 0 ? "%H:%M" : "\n%H:%M", | 54 mdate = purple_utf8_strftime(then == 0 ? "%H:%M" : "\n%H:%M", |
55 localtime(&now)); | 55 localtime(&now)); |
56 gtk_text_buffer_get_end_iter(buffer, &iter); | 56 gtk_text_buffer_get_end_iter(buffer, &iter); |
57 | |
58 if (gtk_text_tag_table_lookup(gtk_text_buffer_get_tag_table(buffer), "TIMESTAMP") == NULL) | |
59 gtk_text_buffer_create_tag(buffer, "TIMESTAMP", | |
60 "foreground", "#888888", "justification", GTK_JUSTIFY_CENTER, | |
61 "weight", PANGO_WEIGHT_BOLD, NULL); | |
62 | |
57 gtk_text_buffer_insert_with_tags_by_name(buffer, &iter, mdate, | 63 gtk_text_buffer_insert_with_tags_by_name(buffer, &iter, mdate, |
58 strlen(mdate), "TIMESTAMP", NULL); | 64 strlen(mdate), "TIMESTAMP", NULL); |
59 | 65 |
60 /* scroll view if necessary */ | 66 /* scroll view if necessary */ |
61 gtk_text_view_get_visible_rect(GTK_TEXT_VIEW(imhtml), &rect); | 67 gtk_text_view_get_visible_rect(GTK_TEXT_VIEW(imhtml), &rect); |
93 } | 99 } |
94 | 100 |
95 static void | 101 static void |
96 timestamp_new_convo(PurpleConversation *conv) | 102 timestamp_new_convo(PurpleConversation *conv) |
97 { | 103 { |
98 PidginConversation *gtk_conv = PIDGIN_CONVERSATION(conv); | |
99 GtkTextBuffer *buffer; | |
100 | |
101 if (!g_list_find(purple_get_conversations(), conv)) | 104 if (!g_list_find(purple_get_conversations(), conv)) |
102 return; | 105 return; |
103 | |
104 buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(gtk_conv->imhtml)); | |
105 gtk_text_buffer_create_tag(buffer, "TIMESTAMP", | |
106 "foreground", "#888888", "justification", GTK_JUSTIFY_CENTER, | |
107 "weight", PANGO_WEIGHT_BOLD, NULL); | |
108 | 106 |
109 purple_conversation_set_data(conv, "timestamp-last", GINT_TO_POINTER(0)); | 107 purple_conversation_set_data(conv, "timestamp-last", GINT_TO_POINTER(0)); |
110 } | 108 } |
111 | 109 |
112 static void | 110 static void |