mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-10 19:00:08 +00:00
Don't set up im stuff if the widget is not realized.
* gtk/gtktextview.c: Don't set up im stuff if the widget is not realized. * gtk/gtkimmodule.c: Assert that we have a window. svn path=/trunk/; revision=22193
This commit is contained in:
parent
a220373a55
commit
280eeb02e1
13
ChangeLog
13
ChangeLog
@ -1,3 +1,16 @@
|
|||||||
|
2009-01-23 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
|
Bug 567124 – proposal to delay doing something related to
|
||||||
|
immodule until widgets realized
|
||||||
|
|
||||||
|
Delay setting up immodules until the widget is realized.
|
||||||
|
Patch by Akira Tagoh
|
||||||
|
|
||||||
|
* gtk/gtktextview.c: Don't set up im stuff if the widget
|
||||||
|
is not realized.
|
||||||
|
|
||||||
|
* gtk/gtkimmodule.c: Assert that we have a window.
|
||||||
|
|
||||||
2009-01-23 Matthias Clasen <mclasen@redhat.com>
|
2009-01-23 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
Skip Desktop if it equals the home folder
|
Skip Desktop if it equals the home folder
|
||||||
|
@ -671,6 +671,9 @@ _gtk_im_module_get_default_context_id (GdkWindow *client_window)
|
|||||||
GdkScreen *screen;
|
GdkScreen *screen;
|
||||||
GtkSettings *settings;
|
GtkSettings *settings;
|
||||||
|
|
||||||
|
/* assertion to make sure all of the unexpected invocation is really gone. */
|
||||||
|
g_return_val_if_fail (client_window != NULL, SIMPLE_ID);
|
||||||
|
|
||||||
if (!contexts_hash)
|
if (!contexts_hash)
|
||||||
gtk_im_module_initialize ();
|
gtk_im_module_initialize ();
|
||||||
|
|
||||||
@ -682,7 +685,7 @@ _gtk_im_module_get_default_context_id (GdkWindow *client_window)
|
|||||||
|
|
||||||
/* Check if the certain immodule is set in XSETTINGS.
|
/* Check if the certain immodule is set in XSETTINGS.
|
||||||
*/
|
*/
|
||||||
if (client_window != NULL && GDK_IS_DRAWABLE (client_window))
|
if (GDK_IS_DRAWABLE (client_window))
|
||||||
{
|
{
|
||||||
screen = gdk_drawable_get_screen (GDK_DRAWABLE (client_window));
|
screen = gdk_drawable_get_screen (GDK_DRAWABLE (client_window));
|
||||||
if (screen)
|
if (screen)
|
||||||
|
@ -2076,6 +2076,7 @@ gtk_text_view_update_im_spot_location (GtkTextView *text_view)
|
|||||||
*/
|
*/
|
||||||
area.width = 0;
|
area.width = 0;
|
||||||
|
|
||||||
|
if (GTK_WIDGET_REALIZED (text_view))
|
||||||
gtk_im_context_set_cursor_location (text_view->im_context, &area);
|
gtk_im_context_set_cursor_location (text_view->im_context, &area);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3837,6 +3838,9 @@ gtk_text_view_realize (GtkWidget *widget)
|
|||||||
|
|
||||||
tmp_list = tmp_list->next;
|
tmp_list = tmp_list->next;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Ensure updating the spot location. */
|
||||||
|
gtk_text_view_update_im_spot_location(text_view);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
Loading…
Reference in New Issue
Block a user