| 939 g_free(imhtml->clipboard_html_string); |
939 g_free(imhtml->clipboard_html_string); |
| 940 } |
940 } |
| 941 |
941 |
| 942 g_list_free(imhtml->scalables); |
942 g_list_free(imhtml->scalables); |
| 943 g_slist_free(imhtml->im_images); |
943 g_slist_free(imhtml->im_images); |
| |
944 if (imhtml->protocol_name) |
| |
945 g_free(imhtml->protocol_name); |
| 944 G_OBJECT_CLASS(parent_class)->finalize (object); |
946 G_OBJECT_CLASS(parent_class)->finalize (object); |
| 945 } |
947 } |
| 946 |
948 |
| 947 /* Boring GTK stuff */ |
949 /* Boring GTK stuff */ |
| 948 static void gtk_imhtml_class_init (GtkIMHtmlClass *klass) |
950 static void gtk_imhtml_class_init (GtkIMHtmlClass *klass) |
| 2377 } |
2380 } |
| 2378 c += tlen; |
2381 c += tlen; |
| 2379 pos += tlen; |
2382 pos += tlen; |
| 2380 if(tag) |
2383 if(tag) |
| 2381 g_free(tag); /* This was allocated back in VALID_TAG() */ |
2384 g_free(tag); /* This was allocated back in VALID_TAG() */ |
| 2382 } else if (gtk_imhtml_is_smiley (imhtml, fonts, c, &smilelen) || gtk_imhtml_is_smiley(imhtml, NULL, c, &smilelen)) { |
2385 } else if (gtk_imhtml_is_smiley(imhtml, fonts, c, &smilelen)) { |
| 2383 GtkIMHtmlFontDetail *fd; |
2386 GtkIMHtmlFontDetail *fd; |
| 2384 |
2387 |
| 2385 gchar *sml = NULL; |
2388 gchar *sml = NULL; |
| 2386 if (fonts) { |
2389 if (fonts) { |
| 2387 fd = fonts->data; |
2390 fd = fonts->data; |
| 2388 sml = fd->sml; |
2391 sml = fd->sml; |
| 2389 } |
2392 } |
| |
2393 if (!sml) |
| |
2394 sml = imhtml->protocol_name; |
| |
2395 |
| 2390 gtk_text_buffer_insert(imhtml->text_buffer, iter, ws, wpos); |
2396 gtk_text_buffer_insert(imhtml->text_buffer, iter, ws, wpos); |
| 2391 wpos = g_snprintf (ws, smilelen + 1, "%s", c); |
2397 wpos = g_snprintf (ws, smilelen + 1, "%s", c); |
| 2392 |
2398 |
| 2393 gtk_imhtml_insert_smiley_at_iter(imhtml, sml, ws, iter); |
2399 gtk_imhtml_insert_smiley_at_iter(imhtml, sml, ws, iter); |
| 2394 |
2400 |
| 2486 { |
2492 { |
| 2487 imhtml->smiley_shortcuts = allow; |
2493 imhtml->smiley_shortcuts = allow; |
| 2488 } |
2494 } |
| 2489 |
2495 |
| 2490 void |
2496 void |
| 2491 gtk_imhtml_set_protocol_name(GtkIMHtml *imhtml, gchar *protocol_name) { |
2497 gtk_imhtml_set_protocol_name(GtkIMHtml *imhtml, const gchar *protocol_name) { |
| 2492 imhtml->protocol_name = protocol_name; |
2498 if (imhtml->protocol_name) |
| |
2499 g_free(imhtml->protocol_name); |
| |
2500 imhtml->protocol_name = protocol_name ? g_strdup(protocol_name) : NULL; |
| 2493 } |
2501 } |
| 2494 |
2502 |
| 2495 void |
2503 void |
| 2496 gtk_imhtml_clear (GtkIMHtml *imhtml) |
2504 gtk_imhtml_clear (GtkIMHtml *imhtml) |
| 2497 { |
2505 { |