Avoid using 0 as the default winId in QPlatformWindow.
authorLaszlo Agocs <laszlo.p.agocs@nokia.com>
Fri, 14 Oct 2011 14:11:06 +0000 (17:11 +0300)
committerQt by Nokia <qt-info@nokia.com>
Fri, 14 Oct 2011 17:42:26 +0000 (19:42 +0200)
commitb091ec9a22f841412552f6698bda85aa0ab42b6c
treee62a6df7920e6cfe8827eb663e0a6a454a254c44
parentbe1e6d17b919ea89c02bf37a12465c8d27f1380b
Avoid using 0 as the default winId in QPlatformWindow.

When the platform plugin does not reimplement QPlatformWindow::winId()
to return a non-zero value, the default implementation provides a WId
of 0. This breaks various scenarios with QWidgets which, for example
in nativeParentWidget(), rely on internalWinId() being non-zero for
TLWs.

As a result, apps like collidingmice will crash with the 'minimal'
platform plugin when they try to do markDirtyOnScreen for the graphics
view's viewport widget because viewport()->nativeParentWidget()
unexpectedly returns null, even though it should return the
QGraphicsView.

The patch makes the default value WId(1) in order to to avoid this.

Change-Id: Iafef2e510e32b5610b8cef742313e9119ed64963
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
src/gui/kernel/qplatformwindow_qpa.cpp