GTK-Win32: Avoid Using Deprecated API

Replace the deprecated API calls with the updated APIs, and fix the build
of modules/input/gtkimcontextime.c, as we really needed
gdk/gdkkeysyms-compat.h (gdk/gdkkeysyms.h was already included)

https://bugzilla.gnome.org/show_bug.cgi?id=705068
This commit is contained in:
Chun-wei Fan 2013-07-31 11:42:36 +08:00
parent 9072be16a4
commit 3b82b97e73
2 changed files with 11 additions and 6 deletions

View File

@ -2277,7 +2277,7 @@ gtk_status_icon_position_menu (GtkMenu *menu,
status_icon = GTK_STATUS_ICON (user_data); status_icon = GTK_STATUS_ICON (user_data);
priv = status_icon->priv; priv = status_icon->priv;
gtk_widget_size_request (GTK_WIDGET (menu), &menu_req); gtk_widget_get_preferred_size (GTK_WIDGET (menu), &menu_req, NULL);
*x = priv->last_click_x; *x = priv->last_click_x;
*y = priv->taskbar_top - menu_req.height; *y = priv->taskbar_top - menu_req.height;

View File

@ -31,7 +31,7 @@
#include "imm-extra.h" #include "imm-extra.h"
#include <gdk/gdkkeysyms.h> #include "gdk/gdkkeysyms-compat.h"
#include "gdk/win32/gdkwin32.h" #include "gdk/win32/gdkwin32.h"
#include "gdk/gdkkeysyms.h" #include "gdk/gdkkeysyms.h"
@ -890,6 +890,8 @@ gtk_im_context_ime_set_preedit_font (GtkIMContext *context)
PangoContext *pango_context; PangoContext *pango_context;
PangoFont *font; PangoFont *font;
LOGFONT *logfont; LOGFONT *logfont;
GtkStyleContext *style;
PangoFontDescription *font_desc;
g_return_if_fail (GTK_IS_IM_CONTEXT_IME (context)); g_return_if_fail (GTK_IS_IM_CONTEXT_IME (context));
@ -941,6 +943,9 @@ gtk_im_context_ime_set_preedit_font (GtkIMContext *context)
default: default:
lang = ""; break; lang = ""; break;
} }
style = gtk_widget_get_style_context (widget);
gtk_style_context_get (style, GTK_STATE_FLAG_NORMAL, "font", &font_desc, NULL);
if (lang[0]) if (lang[0])
{ {
@ -949,9 +954,9 @@ gtk_im_context_ime_set_preedit_font (GtkIMContext *context)
*/ */
PangoLanguage *pango_lang = pango_language_from_string (lang); PangoLanguage *pango_lang = pango_language_from_string (lang);
PangoFontset *fontset = PangoFontset *fontset =
pango_context_load_fontset (pango_context, pango_context_load_fontset (pango_context,
gtk_widget_get_style (widget)->font_desc, font_desc,
pango_lang); pango_lang);
gunichar *sample = gunichar *sample =
g_utf8_to_ucs4 (pango_language_get_sample_string (pango_lang), g_utf8_to_ucs4 (pango_language_get_sample_string (pango_lang),
-1, NULL, NULL, NULL); -1, NULL, NULL, NULL);
@ -972,7 +977,7 @@ gtk_im_context_ime_set_preedit_font (GtkIMContext *context)
g_object_unref (fontset); g_object_unref (fontset);
} }
else else
font = pango_context_load_font (pango_context, gtk_widget_get_style (widget)->font_desc); font = pango_context_load_font (pango_context, font_desc);
if (!font) if (!font)
goto ERROR_OUT; goto ERROR_OUT;