Fix crash

This commit is contained in:
Ray Strode 2021-04-19 09:49:21 -04:00
parent 653abc0a81
commit f380b5e037
6 changed files with 39 additions and 31 deletions

View File

@ -1,4 +1,4 @@
From e27d9527fa03be29ad030634ab3b5de652527d81 Mon Sep 17 00:00:00 2001
From 6b1fa184af2a847d8b3d74a09bb65af6803d4e6d Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Thu, 15 Apr 2021 13:28:00 -0400
Subject: [PATCH 1/4] compositor: Add signal for reporting X server events
@ -15,17 +15,17 @@ InputSourcesManager can watch for root window property changes.
1 file changed, 21 insertions(+), 1 deletion(-)
diff --git a/compositor/kiosk-compositor.c b/compositor/kiosk-compositor.c
index b3cd10f..a8ecf5f 100644
index dad7776..14f5de3 100644
--- a/compositor/kiosk-compositor.c
+++ b/compositor/kiosk-compositor.c
@@ -7,60 +7,67 @@
#include <glib-object.h>
@@ -9,60 +9,67 @@
#include <clutter/clutter.h>
#include <clutter/x11/clutter-x11.h>
#include <meta/common.h>
#include <meta/display.h>
#include <meta/main.h>
#include <meta/util.h>
#include <meta/meta-window-group.h>
#include "kiosk-backgrounds.h"
#include "kiosk-input-sources-manager.h"
@ -86,7 +86,7 @@ index b3cd10f..a8ecf5f 100644
g_autoptr (GdmManager) display_manager = NULL;
GVariantBuilder builder;
g_autoptr (GError) error = NULL;
@@ -267,62 +274,64 @@ kiosk_compositor_show_tile_preview (MetaPlugin *plugin,
@@ -329,62 +336,64 @@ kiosk_compositor_show_tile_preview (MetaPlugin *plugin,
g_assert (META_PLUGIN_CLASS (kiosk_compositor_parent_class)->show_tile_preview == NULL);
}
@ -152,7 +152,7 @@ index b3cd10f..a8ecf5f 100644
kiosk_compositor_plugin_info (MetaPlugin *plugin)
{
@@ -358,60 +367,71 @@ kiosk_compositor_class_init (KioskCompositorClass *compositor_class)
@@ -420,60 +429,71 @@ kiosk_compositor_class_init (KioskCompositorClass *compositor_class)
plugin_class->start = kiosk_compositor_start;
plugin_class->map = kiosk_compositor_map;
@ -225,5 +225,5 @@ index b3cd10f..a8ecf5f 100644
return KIOSK_SERVICE (self->service);
--
2.30.2
2.31.1

View File

@ -1,4 +1,4 @@
From 348cb4fda7da06da3194a784a97946364dd3182b Mon Sep 17 00:00:00 2001
From 7ea1746494f0b2e381fe8f08249f7751cd8ae578 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Thu, 15 Apr 2021 13:00:16 -0400
Subject: [PATCH] compositor: Be less aggressive about full screening windows
@ -14,7 +14,7 @@ subsequent windows are auxillary and should be layered on top.
1 file changed, 70 insertions(+), 8 deletions(-)
diff --git a/compositor/kiosk-compositor.c b/compositor/kiosk-compositor.c
index a8ecf5f..14f5de3 100644
index b3cd10f..dad7776 100644
--- a/compositor/kiosk-compositor.c
+++ b/compositor/kiosk-compositor.c
@@ -1,43 +1,45 @@
@ -56,14 +56,14 @@ index a8ecf5f..14f5de3 100644
KioskService *service;
};
enum {
X_SERVER_EVENT,
NUMBER_OF_SIGNALS
};
G_DEFINE_TYPE (KioskCompositor, kiosk_compositor, META_TYPE_PLUGIN)
static guint signals [NUMBER_OF_SIGNALS] = { 0, };
static void kiosk_compositor_dispose (GObject *object);
@@ -150,91 +152,151 @@ static void
static void
kiosk_compositor_dispose (GObject *object)
{
@@ -143,91 +145,151 @@ static void
kiosk_compositor_minimize (MetaPlugin *plugin,
MetaWindowActor *actor)
{
@ -224,5 +224,5 @@ index a8ecf5f..14f5de3 100644
KioskCompositor *self = KIOSK_COMPOSITOR (plugin);
--
2.30.2
2.31.1

View File

@ -1,4 +1,4 @@
From dcda260069ff811dc46a9ab0524eab273275206f Mon Sep 17 00:00:00 2001
From 840bac654aef7aa0e241be8ac0052f5a5c67e4d5 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Thu, 15 Apr 2021 14:39:55 -0400
Subject: [PATCH 2/4] input-sources-manager: Fix overzealous rename mistake
@ -184,5 +184,5 @@ index 58d7a4c..a1a4cfa 100644
old_input_source_group = kiosk_input_sources_manager_get_selected_input_source_group (self);
--
2.30.2
2.31.1

View File

@ -1,4 +1,4 @@
From 3acb4e6e52c183eb756b61880e320fa3af639f89 Mon Sep 17 00:00:00 2001
From b321b57e2908fddcde9da31e0d71af54c3e2cd98 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Thu, 15 Apr 2021 14:41:41 -0400
Subject: [PATCH 3/4] input-sources-manager: Add function to load input sources
@ -215,5 +215,5 @@ index a1a4cfa..4b4ef62 100644
}
--
2.30.2
2.31.1

View File

@ -1,4 +1,4 @@
From 09b90bb8fcdcc2a15ef5d3dcc0a0eaecdb8be112 Mon Sep 17 00:00:00 2001
From 69d0eb2a62114d72a08cb580ba86d52ef698336a Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Thu, 15 Apr 2021 14:43:17 -0400
Subject: [PATCH 4/4] wip! Better support libxklavier
@ -11,11 +11,11 @@ stays in sync with X server state.
---
compositor/kiosk-input-source-group.c | 17 +
compositor/kiosk-input-source-group.h | 5 +-
compositor/kiosk-input-sources-manager.c | 137 ++++++
compositor/kiosk-input-sources-manager.c | 142 ++++++
compositor/kiosk-x-keyboard-manager.c | 546 +++++++++++++++++++++++
compositor/kiosk-x-keyboard-manager.h | 22 +
meson.build | 1 +
6 files changed, 727 insertions(+), 1 deletion(-)
6 files changed, 732 insertions(+), 1 deletion(-)
create mode 100644 compositor/kiosk-x-keyboard-manager.c
create mode 100644 compositor/kiosk-x-keyboard-manager.h
@ -210,7 +210,7 @@ index cec8b2f..d255da4 100644
gboolean kiosk_input_source_group_switch_to_previous_layout (KioskInputSourceGroup *input_sources);
G_END_DECLS
diff --git a/compositor/kiosk-input-sources-manager.c b/compositor/kiosk-input-sources-manager.c
index 4b4ef62..2015887 100644
index 4b4ef62..c6c8c91 100644
--- a/compositor/kiosk-input-sources-manager.c
+++ b/compositor/kiosk-input-sources-manager.c
@@ -1,83 +1,88 @@
@ -302,7 +302,7 @@ index 4b4ef62..2015887 100644
guint property_id,
GValue *value,
GParamSpec *param_spec);
@@ -1363,60 +1368,184 @@ on_input_engine_manager_active_engine_changed (KioskInputSourcesManager *self)
@@ -1363,60 +1368,189 @@ on_input_engine_manager_active_engine_changed (KioskInputSourcesManager *self)
active_input_engine = kiosk_input_engine_manager_get_active_engine (self->input_engine_manager);
@ -373,6 +373,11 @@ index 4b4ef62..2015887 100644
+ const char *input_engine_name;
+
+ input_source_group = kiosk_input_sources_manager_get_selected_input_source_group (self);
+
+ if (input_source_group == NULL) {
+ return FALSE;
+ }
+
+ input_engine_name = kiosk_input_source_group_get_input_engine (input_source_group);
+
+ if (input_engine_name != NULL) {
@ -487,7 +492,7 @@ index 4b4ef62..2015887 100644
G_CALLBACK (on_dbus_service_handle_select_input_source),
self,
G_CONNECT_SWAPPED);
@@ -1430,63 +1559,71 @@ kiosk_input_sources_manager_handle_dbus_service (KioskInputSourcesManager *self)
@@ -1430,63 +1564,71 @@ kiosk_input_sources_manager_handle_dbus_service (KioskInputSourcesManager *self)
G_CALLBACK (on_dbus_service_handle_select_previous_input_source),
self,
G_CONNECT_SWAPPED);
@ -1206,5 +1211,5 @@ index 2b5640a..44afcea 100644
type: 'desktop'
)
--
2.30.2
2.31.1

View File

@ -12,7 +12,7 @@
Name: gnome-kiosk
Version: 40~alpha
Release: 2%{?dist}
Release: 3%{?dist}
Summary: Window management and application launching for GNOME
License: GPLv2+
@ -38,10 +38,10 @@ Requires: gnome-settings-daemon%{?_isa} >= %{gnome_settings_daemon_version
Requires: gsettings-desktop-schemas%{?_isa} >= %{gsettings_desktop_schemas_version}
# https://gitlab.gnome.org/halfline/gnome-kiosk/-/merge_requests/1
Patch10001: 0001-compositor-Add-signal-for-reporting-X-server-events.patch
Patch10001: 0001-compositor-Be-less-aggressive-about-full-screening-w.patch
# https://gitlab.gnome.org/halfline/gnome-kiosk/-/merge_requests/2
Patch20001: 0001-compositor-Be-less-aggressive-about-full-screening-w.patch
Patch20001: 0001-compositor-Add-signal-for-reporting-X-server-events.patch
Patch20002: 0002-input-sources-manager-Fix-overzealous-rename-mistake.patch
Patch20003: 0003-input-sources-manager-Add-function-to-load-input-sou.patch
Patch20004: 0004-wip-Better-support-libxklavier.patch
@ -88,6 +88,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/org.gnome.Kiosk.Searc
%{_datadir}/wayland-sessions/org.gnome.Kiosk.SearchApp.Session.desktop
%changelog
* Mon Apr 19 2021 Ray Strode <rstrode@redhat.com> - 40~alpha-3
- Fix crash
* Sun Apr 18 2021 Ray Strode <rstrode@redhat.com> - 40~alpha-2
- Work with 3rd party keyboard layout selectors
- Be less aggressive about fullscreening windows