[Development] Help debugging "impossible condition"

Thiago Macieira thiago.macieira at intel.com
Mon May 14 11:42:33 CEST 2012


On segunda-feira, 14 de maio de 2012 11.36.04, Thiago Macieira wrote:
> On domingo, 6 de maio de 2012 07.47.44, Thiago Macieira wrote:
> > On sábado, 5 de maio de 2012 23.18.18, Giuseppe D'Angelo wrote:
> > > qgraphicsview.cpp-2790-        d->useLastMouseEvent = false;
> > > qgraphicsview.cpp-2791-        // a hack to pass a viewport pointer to
> > > the scene inside the leave event
> > > qgraphicsview.cpp:2792:        Q_ASSERT(event->d == 0);
> > > qgraphicsview.cpp:2793:        event->d =
> > > reinterpret_cast<QEventPrivate *>(viewport());
> > > qgraphicsview.cpp-2794-        QApplication::sendEvent(d->scene, event);
> > > qgraphicsview.cpp-2795-        break;
> > 
> > Argh!
> > 
> > Does anyone have a clean suggestion on how to fix this hack?
> 
> Since no one has a suggestion on how to fix the hack, I'll close the task
> and abandon the patch that cleans up QEvent.
> 
> I'll add a ### to QEvent saying that the d pointer cannot be used because of
> a hack in graphics view.

Actually, I have a better idea: I'll just add an extra pointer to QEvent for 
the sole reason of letting QGraphicsView use it.

If someone thinks that adding 4 or 8 bytes to EVERY EVENT is a bad idea, 
please help me come up with a better alternative.

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center
     Intel Sweden AB - Registration Number: 556189-6027
     Knarrarnäsgatan 15, 164 40 Kista, Stockholm, Sweden
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 190 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.qt-project.org/pipermail/development/attachments/20120514/60ee72ff/attachment.sig>


More information about the Development mailing list