diff --git a/0001-modalDialog-Remove-unused-parentActor-param.patch b/0001-modalDialog-Remove-unused-parentActor-param.patch new file mode 100644 index 0000000..e09e08c --- /dev/null +++ b/0001-modalDialog-Remove-unused-parentActor-param.patch @@ -0,0 +1,36 @@ +From 1b78dd662b12c9fa2951d71c456d808e160d54cf Mon Sep 17 00:00:00 2001 +From: Rui Matos +Date: Tue, 18 Mar 2014 14:41:26 +0100 +Subject: [PATCH 1/2] modalDialog: Remove unused parentActor param + +No ModalDialog users set this so let's hardcode it. + +https://bugzilla.gnome.org/show_bug.cgi?id=719451 +--- + js/ui/modalDialog.js | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/js/ui/modalDialog.js b/js/ui/modalDialog.js +index 366e425..be16128 100644 +--- a/js/ui/modalDialog.js ++++ b/js/ui/modalDialog.js +@@ -41,7 +41,6 @@ const ModalDialog = new Lang.Class({ + _init: function(params) { + params = Params.parse(params, { shellReactive: false, + styleClass: null, +- parentActor: Main.uiGroup, + keybindingMode: Shell.KeyBindingMode.SYSTEM_MODAL, + shouldFadeIn: true, + destroyOnClose: true }); +@@ -57,7 +56,7 @@ const ModalDialog = new Lang.Class({ + x: 0, + y: 0, + accessible_role: Atk.Role.DIALOG }); +- params.parentActor.add_actor(this._group); ++ Main.uiGroup.add_actor(this._group); + + let constraint = new Clutter.BindConstraint({ source: global.stage, + coordinate: Clutter.BindCoordinate.ALL }); +-- +1.9.3 + diff --git a/0002-layout-Create-a-group-for-modal-dialogs.patch b/0002-layout-Create-a-group-for-modal-dialogs.patch new file mode 100644 index 0000000..d24be1c --- /dev/null +++ b/0002-layout-Create-a-group-for-modal-dialogs.patch @@ -0,0 +1,44 @@ +From 2974b29f159adb4bcd0f597b91d7964d31b71151 Mon Sep 17 00:00:00 2001 +From: Rui Matos +Date: Tue, 18 Mar 2014 14:44:44 +0100 +Subject: [PATCH 2/2] layout: Create a group for modal dialogs + +This way we can ensure that they're always stacked under the OSK. + +https://bugzilla.gnome.org/show_bug.cgi?id=719451 +--- + js/ui/layout.js | 4 ++++ + js/ui/modalDialog.js | 2 +- + 2 files changed, 5 insertions(+), 1 deletion(-) + +diff --git a/js/ui/layout.js b/js/ui/layout.js +index 7b3647c..dc91f02 100644 +--- a/js/ui/layout.js ++++ b/js/ui/layout.js +@@ -212,6 +212,10 @@ const LayoutManager = new Lang.Class({ + this.addChrome(this.trayBox); + this._setupTrayPressure(); + ++ this.modalDialogGroup = new St.Widget({ name: 'modalDialogGroup', ++ layout_manager: new Clutter.BinLayout() }); ++ this.uiGroup.add_actor(this.modalDialogGroup); ++ + this.keyboardBox = new St.BoxLayout({ name: 'keyboardBox', + reactive: true, + track_hover: true }); +diff --git a/js/ui/modalDialog.js b/js/ui/modalDialog.js +index be16128..5d10613 100644 +--- a/js/ui/modalDialog.js ++++ b/js/ui/modalDialog.js +@@ -56,7 +56,7 @@ const ModalDialog = new Lang.Class({ + x: 0, + y: 0, + accessible_role: Atk.Role.DIALOG }); +- Main.uiGroup.add_actor(this._group); ++ Main.layoutManager.modalDialogGroup.add_actor(this._group); + + let constraint = new Clutter.BindConstraint({ source: global.stage, + coordinate: Clutter.BindCoordinate.ALL }); +-- +1.9.3 + diff --git a/gnome-shell.spec b/gnome-shell.spec index 57996ff..6d316fe 100644 --- a/gnome-shell.spec +++ b/gnome-shell.spec @@ -1,6 +1,6 @@ Name: gnome-shell Version: 3.10.4 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Window management and application launching for GNOME Group: User Interface/Desktops @@ -15,6 +15,12 @@ Patch1: gnome-shell-favourite-apps-firefox.patch Patch2: only-set-scale-factor-on-success.patch Patch3: fix-broken-crosshairs.patch +# Make OSK work in modal dialogs, backport from master branch +# https://bugzilla.gnome.org/show_bug.cgi?id=719451 +# https://bugzilla.redhat.com/show_bug.cgi?id=1071907 +Patch4: 0001-modalDialog-Remove-unused-parentActor-param.patch +Patch5: 0002-layout-Create-a-group-for-modal-dialogs.patch + %define clutter_version 1.13.4 %define gnome_bluetooth_version 1:3.9.0 %define gobject_introspection_version 0.10.1 @@ -119,6 +125,8 @@ easy to use experience. %patch1 -p1 -b .firefox %patch2 -p1 -b .scale-factor-success %patch3 -p1 -b .broken-crosshairs +%patch4 -p1 -b .osk_modal1 +%patch5 -p1 -b .osk_modal2 %build (if ! test -x configure; then NOCONFIGURE=1 ./autogen.sh; fi; @@ -178,6 +186,9 @@ glib-compile-schemas --allow-any-name %{_datadir}/glib-2.0/schemas &> /dev/null %exclude %{_datadir}/gtk-doc %changelog +* Fri May 23 2014 Adam Williamson - 3.10.4-4 +- make OSK work with modal dialogs (backport, BGO #719451, RHBZ #1071907) + * Wed Apr 02 2014 Javier Hernández - 3.10.4-3 - Fix gnome shell magnifier's crosshairs (RH #1083500)