Hi Humberto,

thanks for your further investigation. The problem was that the platform window 
had not been created yet when the
QNitpickerWindowSurface's constructor and paintDevice() functions got called. 
The attached patch fixes the problem for me. The
second attached patch fixes the target.mk for the analogclock example, so it 
uses the correct main.cpp file.

Christian
qt5_qnitpickerwindowsurface.patch

From: Christian Prochaska <christian.procha...@genode-labs.com>


---
 .../nitpicker/qnitpickerwindowsurface.cpp          |    3 +++
 1 file changed, 3 insertions(+)

diff --git a/repos/libports/src/lib/qt5/qtbase/src/plugins/platforms/nitpicker/qnitpickerwindowsurface.cpp b/repos/libports/src/lib/qt5/qtbase/src/plugins/platforms/nitpicker/qnitpickerwindowsurface.cpp
index 4fa9aca..6c3277c 100644
--- a/repos/libports/src/lib/qt5/qtbase/src/plugins/platforms/nitpicker/qnitpickerwindowsurface.cpp
+++ b/repos/libports/src/lib/qt5/qtbase/src/plugins/platforms/nitpicker/qnitpickerwindowsurface.cpp
@@ -34,6 +34,9 @@ QNitpickerWindowSurface::QNitpickerWindowSurface(QWindow *window)
 {
     //qDebug() << "QNitpickerWindowSurface::QNitpickerWindowSurface:" << (long)this;
 
+    /* Calling 'QWindow::winId()' ensures that the platform window has been created */
+    window->winId();
+
     _platform_window = static_cast<QNitpickerPlatformWindow*>(window->handle());
     connect(_platform_window, SIGNAL(framebuffer_changed()), this, SLOT(framebuffer_changed()));
 }


analogclock.patch

From: Christian Prochaska <christian.procha...@genode-labs.com>


---
 .../src/app/qt5/examples/gui/analogclock/target.mk |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/repos/libports/src/app/qt5/examples/gui/analogclock/target.mk b/repos/libports/src/app/qt5/examples/gui/analogclock/target.mk
index 7a9b1d7..3b61e2a 100644
--- a/repos/libports/src/app/qt5/examples/gui/analogclock/target.mk
+++ b/repos/libports/src/app/qt5/examples/gui/analogclock/target.mk
@@ -10,7 +10,10 @@ QT5_CONTRIB_DIR := $(QT5_PORT_DIR)/src/lib/qt5/$(QT5)
 QMAKE_PROJECT_PATH = $(QT5_CONTRIB_DIR)/qtbase/examples/gui/analogclock
 QMAKE_PROJECT_FILE = $(QMAKE_PROJECT_PATH)/analogclock.pro
 
-vpath % $(QT5_CONTRIB_DIR)/qtbase/examples/gui/rasterwindow
+INC_DIR += $(QT5_CONTRIB_DIR)/qtbase/examples/gui/rasterwindow
+
+vpath rasterwindow.cpp $(QT5_CONTRIB_DIR)/qtbase/examples/gui/rasterwindow
+vpath % $(QMAKE_PROJECT_PATH)
 
 include $(QT5_REP_DIR)/src/app/qt5/tmpl/target_defaults.inc
 


------------------------------------------------------------------------------
_______________________________________________
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main

Reply via email to