diff --git a/531e0a82-reverse-keyboard-grab-commit.patch b/531e0a82-reverse-keyboard-grab-commit.patch new file mode 100644 index 00000000..4bc76980 --- /dev/null +++ b/531e0a82-reverse-keyboard-grab-commit.patch @@ -0,0 +1,139 @@ +Note: This is a reverse patch of the original commit +See bnc#877907 - when starting guest in virt--manager with details + pane open, keyboard is grabbed erroneously + +Subject: Add a gsetting key to disable keyboard grabbing +From: Kjö Hansi Glaz kjo@a4nancy.net.eu.org Mon Mar 10 18:07:15 2014 +0100 +Date: Mon Mar 10 14:54:58 2014 -0400: +Git: 66d146aceec7d6b4301f1795d8bea25d2d8306b8 + +Add a gsetting key to disable keyboard grabbing that works the same way +as spicy when unchecking "Options" > "Grab keyboard when active and +focused". + +diff --git b/data/org.virt-manager.virt-manager.gschema.xml a/data/org.virt-manager.virt-manager.gschema.xml +index 2fede6c..d755f6e 100644 +--- b/data/org.virt-manager.virt-manager.gschema.xml ++++ a/data/org.virt-manager.virt-manager.gschema.xml +@@ -188,13 +188,6 @@ + Grab keyboard sequence for the graphical console + + +- +- +- true +- Enable grab keyboard when active and focused +- Enable grab keyboard when active and focused +- +- + + true + Enable SPICE Auto USB redirection in console window +diff --git b/virtManager/config.py a/virtManager/config.py +index 5c9c127..dd624e9 100644 +--- b/virtManager/config.py ++++ a/virtManager/config.py +@@ -286,14 +286,6 @@ class vmmConfig(object): + def on_keys_combination_changed(self, cb): + return self.conf.notify_add("/console/grab-keys", cb) + +- # This key is not intended to be exposed in the UI yet +- def get_grab_keyboard(self): +- return self.conf.get("/console/grab-keyboard") +- def set_grab_keyboard(self, val): +- self.conf.set("/console/grab-keyboard", val) +- def on_grab_keyboard_changed(self, cb): +- return self.conf.notify_add("/console/grab-keyboard", cb) +- + # Confirmation preferences + def get_confirm_forcepoweroff(self): + return self.conf.get("/confirm/forcepoweroff") +diff --git b/virtManager/console.py a/virtManager/console.py +index ee12390..6513645 100644 +--- b/virtManager/console.py ++++ a/virtManager/console.py +@@ -360,9 +360,6 @@ class Viewer(vmmGObject): + def send_keys(self, keys): + raise NotImplementedError() + +- def set_grab_keyboard(self): +- raise NotImplementedError() +- + def open_host(self, ginfo): + raise NotImplementedError() + +@@ -397,7 +394,6 @@ class VNCViewer(Viewer): + + def init_widget(self): + self.set_grab_keys() +- self.set_grab_keyboard() + + self.display.realize() + +@@ -407,6 +403,7 @@ class VNCViewer(Viewer): + self.console.sync_scaling_with_display() + self.console.refresh_resizeguest_from_settings() + ++ self.display.set_keyboard_grab(True) + self.display.set_pointer_grab(True) + + self.display.connect("size-allocate", +@@ -464,10 +461,6 @@ class VNCViewer(Viewer): + def send_keys(self, keys): + return self.display.send_keys([Gdk.keyval_from_name(k) for k in keys]) + +- def set_grab_keyboard(self): +- self.display.set_keyboard_grab(self.config.get_grab_keyboard()) +- self.display.force_grab(self.config.get_grab_keyboard()) +- + def _desktop_resize(self, src_ignore, w, h): + self.desktop_resolution = (w, h) + self.console.widget("console-gfx-scroll").queue_resize() +@@ -578,7 +571,6 @@ class SpiceViewer(Viewer): + + def _init_widget(self): + self.set_grab_keys() +- self.set_grab_keyboard() + self.console.sync_scaling_with_display() + self.console.refresh_resizeguest_from_settings() + +@@ -625,9 +617,6 @@ class SpiceViewer(Viewer): + return self.display.send_keys([Gdk.keyval_from_name(k) for k in keys], + SpiceClientGtk.DisplayKeyEvent.CLICK) + +- def set_grab_keyboard(self): +- self.display.set_property("grab-keyboard", self.config.get_grab_keyboard()) +- + def close(self): + if self.spice_session is not None: + self.spice_session.disconnect() +@@ -886,8 +875,6 @@ class vmmConsolePages(vmmGObjectUI): + self.config.on_console_accels_changed(self.set_enable_accel)) + self.add_gconf_handle( + self.config.on_keys_combination_changed(self.grab_keys_changed)) +- self.add_gconf_handle( +- self.config.on_grab_keyboard_changed(self.grab_keyboard_changed)) + + self.page_changed() + +@@ -1040,9 +1027,6 @@ class vmmConsolePages(vmmGObjectUI): + def pointer_grabbed(self, src_ignore): + self.pointer_is_grabbed = True + self.change_title() +- if not self.config.get_grab_keyboard(): +- self.viewer.display.force_grab(False) +- self.viewer.display.set_keyboard_grab(self.config.get_grab_keyboard()) + + def pointer_ungrabbed(self, src_ignore): + self.pointer_is_grabbed = False +@@ -1083,10 +1067,6 @@ class vmmConsolePages(vmmGObjectUI): + if self.viewer: + self.viewer.set_grab_keys() + +- def grab_keyboard_changed(self): +- if self.viewer: +- self.viewer.set_grab_keyboard() +- + def set_enable_accel(self): + # Make sure modifiers are up to date + self.viewer_focus_changed() diff --git a/virt-manager.changes b/virt-manager.changes index 010308f4..f84fda3e 100644 --- a/virt-manager.changes +++ b/virt-manager.changes @@ -1,3 +1,17 @@ +------------------------------------------------------------------- +Thu May 15 15:41:54 MDT 2014 - carnold@suse.com + +- bnc#874594 - virt-manager allows issuing of start for xen domain + twice, resulting in failure + virtman-prevent-double-click-starting-vm-twice.patch + +------------------------------------------------------------------- +Thu May 15 15:41:54 MDT 2014 - carnold@suse.com + +- bnc#877907 - when starting guest in virt--manager with details + pane open, keyboard is grabbed erroneously + 531e0a82-reverse-keyboard-grab-commit.patch + ------------------------------------------------------------------- Thu May 1 16:24:54 MDT 2014 - carnold@suse.com diff --git a/virt-manager.spec b/virt-manager.spec index da8d6345..0c09cf44 100644 --- a/virt-manager.spec +++ b/virt-manager.spec @@ -15,6 +15,7 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # + %define with_guestfs 0 %define askpass_package "openssh-askpass" %define qemu_user "qemu" @@ -60,6 +61,7 @@ Patch22: 535ff0b7-fix-install-when-one-package-is-already-installed.patch Patch23: 536152fe-fix-error-detecting-OS-in-show-all-list.patch Patch24: 536154d8-show-error-if-launching-delete-dialog-fails.patch Patch25: 53615662-call-path_exists-before-getting-storage-volume.patch +Patch45: 531e0a82-reverse-keyboard-grab-commit.patch Patch50: virtman-desktop.patch Patch51: virtman-cdrom.patch Patch52: virtman-kvm.patch @@ -78,6 +80,7 @@ Patch66: virtman-load-stored-uris.patch Patch67: virtman-libvirtd-not-running.patch Patch68: virtman-stable-os-support.patch Patch69: virtman-add-s390x-arch-support.patch +Patch70: virtman-prevent-double-click-starting-vm-twice.patch Patch151: virtinst-storage-ocfs2.patch Patch152: virtinst-qed.patch Patch153: virtinst-support-suse-distros.patch @@ -202,6 +205,7 @@ machine). %patch23 -p1 %patch24 -p1 %patch25 -p1 +%patch45 -p1 %patch50 -p1 %patch51 -p1 %patch52 -p1 @@ -220,6 +224,7 @@ machine). %patch67 -p1 %patch68 -p1 %patch69 -p1 +%patch70 -p1 %patch151 -p1 %patch152 -p1 %patch153 -p1 diff --git a/virtman-keycombo.patch b/virtman-keycombo.patch index 5d00c17d..0ed5a66d 100644 --- a/virtman-keycombo.patch +++ b/virtman-keycombo.patch @@ -2,7 +2,7 @@ Index: virt-manager-1.0.1/virtManager/console.py =================================================================== --- virt-manager-1.0.1.orig/virtManager/console.py +++ virt-manager-1.0.1/virtManager/console.py -@@ -935,6 +935,16 @@ class vmmConsolePages(vmmGObjectUI): +@@ -922,6 +922,16 @@ class vmmConsolePages(vmmGObjectUI): make_item("Ctrl+Alt+_Backspace", ["Control_L", "Alt_L", "BackSpace"]) make_item("Ctrl+Alt+_Delete", ["Control_L", "Alt_L", "Delete"]) menu.add(Gtk.SeparatorMenuItem()) diff --git a/virtman-prevent-double-click-starting-vm-twice.patch b/virtman-prevent-double-click-starting-vm-twice.patch new file mode 100644 index 00000000..8b9df114 --- /dev/null +++ b/virtman-prevent-double-click-starting-vm-twice.patch @@ -0,0 +1,14 @@ +bnc#874594 - virt-manager allows issuing of start for xen domain twice, resulting in failure + +--- virt-manager-1.0.1/virtManager/details.py.orig 2014-05-15 17:04:23.580176420 -0600 ++++ virt-manager-1.0.1/virtManager/details.py 2014-05-15 17:07:55.444521681 -0600 +@@ -1459,6 +1459,9 @@ class vmmDetails(vmmGObjectUI): + self.widget("details-menu-usb-redirection").set_sensitive(can_usb) + + def control_vm_run(self, src_ignore): ++ # De-sensitize widget so a double click on the icon won't attempt to ++ # start the VM twice ++ self.widget("control-run").set_sensitive(False) + self.emit("action-run-domain", + self.vm.conn.get_uri(), self.vm.get_uuid()) +