Fix bug 2182 - Syborg QEMU crashes when using skin + touchscreen device
authorbugtracker-ml@nttdocomo.com
Thu, 22 Apr 2010 14:59:02 +0100
changeset 62 99ca724f9829
parent 61 42fe4f76a74e
child 63 84dca1410127
Fix bug 2182 - Syborg QEMU crashes when using skin + touchscreen device
symbian-qemu-0.9.1-12/qemu-symbian-svp/plugins/syborg_pointer.py
symbian-qemu-0.9.1-12/qemu-symbian-svp/python-plugin.c
--- a/symbian-qemu-0.9.1-12/qemu-symbian-svp/plugins/syborg_pointer.py	Thu Apr 22 14:57:42 2010 +0100
+++ b/symbian-qemu-0.9.1-12/qemu-symbian-svp/plugins/syborg_pointer.py	Thu Apr 22 14:59:02 2010 +0100
@@ -1,3 +1,8 @@
+#
+# Contributors:
+# NTT DOCOMO, INC. -- Syborg QEMU crashes when using skin + touchscreen device
+#
+
 import qemu
 
 class syborg_pointer(qemu.devclass):
@@ -32,7 +37,7 @@
     self.fifo=[]
     self.current = self.fifo_entry(0, 0, 0, 0)
     self.int_enabled = False
-    qemu.register_mouse(self.event, self.absolute)
+    qemu.register_mouse(self.event, self.absolute, self.name)
 
   def read_reg(self, offset):
     offset >>= 2
--- a/symbian-qemu-0.9.1-12/qemu-symbian-svp/python-plugin.c	Thu Apr 22 14:57:42 2010 +0100
+++ b/symbian-qemu-0.9.1-12/qemu-symbian-svp/python-plugin.c	Thu Apr 22 14:59:02 2010 +0100
@@ -1,3 +1,10 @@
+/*
+*
+* Contributors:
+* NTT DOCOMO, INC. -- Syborg QEMU crashes when using skin + touchscreen device
+*
+*/
+
 #include "Python.h"
 #include "structmember.h"
 #include "hw/hw.h"
@@ -1862,11 +1869,12 @@
 static PyObject *qemu_py_register_mouse(PyObject *self, PyObject *args,
                                         PyObject *kwds)
 {
-    static char *kwlist[] = {"handler", "absolute", NULL};
+    static char *kwlist[] = {"handler", "absolute", "devid", NULL};
     PyObject *fn;
     int absolute;
+	char *devid;
 
-    if (!PyArg_ParseTupleAndKeywords(args, kwds, "Oi", kwlist, &fn, &absolute))
+    if (!PyArg_ParseTupleAndKeywords(args, kwds, "Ois", kwlist, &fn, &absolute, &devid))
         return NULL; 
 
     if (!PyCallable_Check(fn)) {
@@ -1875,7 +1883,7 @@
     }
 
     Py_INCREF(fn);
-    gui_register_mouse_event_handler(qemu_py_mouse_event, fn, absolute, "dev");
+    gui_register_mouse_event_handler(qemu_py_mouse_event, fn, absolute, devid);
 
     Py_RETURN_NONE;
 }