Bug 1875369 [Wayland] Set/unset IMContextWrapper GdkWindow when it's mapped/unmapped so we use valid GdkWindow r=emilio

Differential Revision: https://phabricator.services.mozilla.com/D200271
This commit is contained in:
stransky 2024-02-13 09:15:33 +00:00
Родитель 3de34039e7
Коммит 68c3134ed5
1 изменённых файлов: 6 добавлений и 0 удалений

Просмотреть файл

@ -5800,6 +5800,9 @@ void nsWindow::EnsureGdkWindow() {
if (!mGdkWindow) {
mGdkWindow = gtk_widget_get_window(GTK_WIDGET(mContainer));
g_object_set_data(G_OBJECT(mGdkWindow), "nsWindow", this);
if (mIMContext) {
mIMContext->SetGdkWindow(mGdkWindow);
}
}
}
@ -9904,6 +9907,9 @@ void nsWindow::DisableRendering() {
DestroyLayerManager();
if (mGdkWindow) {
if (mIMContext) {
mIMContext->SetGdkWindow(nullptr);
}
g_object_set_data(G_OBJECT(mGdkWindow), "nsWindow", nullptr);
mGdkWindow = nullptr;
}