Control: -1 tags +patch

Hi Ritesh,

I had a stroke of luck and it seems the patch I found in the old
upstream bug tracker works!

I have tested the patch locally and it works perfectly against my
XenServer 6.2.

I have attached the patch complete with DEP3 header.

I am going to continue looking at the source code and attempt to pick
any loose ends that I find. I shall also try and get the code better
formatted to PEP8.

Regards

Daniel
Description: Fix blank console
Author: Alexis Bezverkhyy <grap...@users.sourceforge.net>
Origin: other
Bug: http://sourceforge.net/p/openxenmanager/bugs/29/
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=702336
Bug-Ubuntu: https://bugs.launchpad.net/debian/+source/openxenmanager/+bug/1258660
Reviewed-by: Daniel Lintott <dan...@serverb.co.uk>
Last-Update: 2014-06-12
---
diff --git a/window.py b/window.py
--- a/window.py
+++ b/window.py
@@ -960,8 +960,16 @@ class oxcWindow(oxcWindowVM,oxcWindowHost,oxcWindowProperties,oxcWindowStorage,o
                         else:
                             ref = self.selected_ref
                         if self.xc_servers[self.selected_host].all_vms[ref]["consoles"]:
-                            console_ref = self.xc_servers[self.selected_host].all_vms[ref]["consoles"][0]
-                            location = self.xc_servers[self.selected_host].all_console[console_ref]["location"]
+                            nb_consoles = len(self.xc_servers[self.selected_host].all_vms[ref]["consoles"])
+                            location = None
+                            for i in range(nb_consoles):
+                                console_ref = self.xc_servers[self.selected_host].all_vms[ref]["consoles"][i]
+                                protocol = self.xc_servers[self.selected_host].all_console[console_ref]["protocol"]
+                                if protocol == 'rfb':
+                                    location = self.xc_servers[self.selected_host].all_console[console_ref]["location"]
+                                    break
+                            if location is None:
+                                print "no VNC console found"
                             self.tunnel = Tunnel(self.xc_servers[self.selected_host].session_uuid, location)
                             port = self.tunnel.get_free_port()
                             Thread(target=self.tunnel.listen, args=(port,)).start()

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to