[Development] Help debugging "impossible condition"
Giuseppe D'Angelo
dangelog at gmail.com
Mon May 14 11:46:40 CEST 2012
On 14 May 2012 11:42, Thiago Macieira <thiago.macieira at intel.com> wrote:
> 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.
A private QEvent subclass carrying that pointer, to be used by QGV?
--
Giuseppe D'Angelo
More information about the Development
mailing list