Mercurial > pidgin.yaz
diff pidgin/gtkimhtml.c @ 27824:d45f85653a75
propagate from branch 'im.pidgin.pidgin' (head 0fb5c2a94109c3921d619c2149e12569e30116ee)
to branch 'im.pidgin.pidgin.yaz' (head f02844b4dfe7f65cf3e23dd38fb6d021a7c8d3df)
author | Yoshiki Yazawa <yaz@honeyplanet.jp> |
---|---|
date | Tue, 22 Apr 2008 00:41:04 +0000 |
parents | 27c9c55499f8 1d012e75153f |
children | eeee264cd325 |
line wrap: on
line diff
--- a/pidgin/gtkimhtml.c Sun Apr 20 15:37:39 2008 +0000 +++ b/pidgin/gtkimhtml.c Tue Apr 22 00:41:04 2008 +0000 @@ -90,6 +90,10 @@ gint y, guint time); +/* yaz. If you want to use shortcut keys that may conflict with + inputmethods, change this to 1. */ +#define ENABLE_SHORTCUT 0 + static void preinsert_cb(GtkTextBuffer *buffer, GtkTextIter *iter, gchar *text, gint len, GtkIMHtml *imhtml); static void insert_cb(GtkTextBuffer *buffer, GtkTextIter *iter, gchar *text, gint len, GtkIMHtml *imhtml); static void delete_cb(GtkTextBuffer *buffer, GtkTextIter *iter, GtkTextIter *end, GtkIMHtml *imhtml); @@ -416,10 +420,11 @@ static gint gtk_imhtml_tip (gpointer data) { - GtkIMHtml *imhtml = data; + GtkIMHtml *imhtml = (GtkIMHtml *)data; PangoFontMetrics *font_metrics; PangoLayout *layout; PangoFont *font; + PangoLanguage *lang; gint gap, x, y, h, w, scr_w, baseline_skip; @@ -464,7 +469,9 @@ return FALSE; } - font_metrics = pango_font_get_metrics(font, NULL); + lang = pango_context_get_language (pango_layout_get_context(layout)); + font_metrics = pango_font_get_metrics(font, lang); //it's ok. +// font_metrics = pango_font_get_metrics(font, NULL); //crash! pango_layout_get_pixel_size(layout, &scr_w, NULL); gap = PANGO_PIXELS((pango_font_metrics_get_ascent(font_metrics) + @@ -579,14 +586,15 @@ tip = g_object_get_data(G_OBJECT(anchor), "gtkimhtml_tiptext"); hand = FALSE; } - +//yaz here bomb explodes +#if 1 if (tip && *tip) { if (!GTK_IMHTML(imhtml)->editable && hand) gdk_window_set_cursor(win, GTK_IMHTML(imhtml)->hand_cursor); GTK_IMHTML(imhtml)->tip_timer = g_timeout_add (TOOLTIP_TIMEOUT, gtk_imhtml_tip, imhtml); } - +#endif GTK_IMHTML(imhtml)->tip = tip; g_slist_free(tags); return FALSE;