Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:ykoba:m17n
uim_backports
fix-gtk-suppress.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File fix-gtk-suppress.patch of Package uim_backports
--- ./gtk2/immodule/gtk-im-uim.orig.c 2018-05-12 06:33:26.000000000 +0900 +++ ./gtk2/immodule/gtk-im-uim.c 2020-07-26 06:52:03.396763730 +0900 @@ -1596,14 +1596,13 @@ } static void -im_uim_finalize(GObject *obj) +im_uim_dispose(GObject *obj) { IMUIMContext *uic = IM_UIM_CONTEXT(obj); - im_uim_set_client_window(GTK_IM_CONTEXT(uic), NULL); - - uic->next->prev = uic->prev; - uic->prev->next = uic->next; + if (uic->win) { + im_uim_set_client_window(GTK_IM_CONTEXT(uic), NULL); + } if (uic->cwin) { #if IM_UIM_USE_DELAY @@ -1633,10 +1632,25 @@ uic->preedit_window = NULL; } + if (uic->slave) { + g_signal_handlers_disconnect_by_func(uic->slave, (gpointer)(uintptr_t)commit_cb, uic); + g_object_unref(uic->slave); + uic->slave = NULL; + } + + parent_class->dispose(obj); +} + +static void +im_uim_finalize(GObject *obj) +{ + IMUIMContext *uic = IM_UIM_CONTEXT(obj); + + uic->next->prev = uic->prev; + uic->prev->next = uic->next; + uim_release_context(uic->uc); - g_signal_handlers_disconnect_by_func(uic->slave, (gpointer)(uintptr_t)commit_cb, uic); - g_object_unref(uic->slave); parent_class->finalize(obj); if (uic == focused_context) { @@ -1663,6 +1677,7 @@ class->reset = im_uim_reset; class->set_use_preedit = im_uim_set_use_preedit; + object_class->dispose = im_uim_dispose; object_class->finalize = im_uim_finalize; }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor