[Kde-games-devel] Fix double-click bug in GameScene code of KMahjongg
Ian Wadham
iandw.au at gmail.com
Tue Dec 29 12:10:16 UTC 2015
On 23/12/2015, at 8:43 AM, Ian Wadham wrote:
> Hi Frederik,
>
> On 23/12/2015, at 12:37 AM, Frederik Schwarzer wrote:
>> Am Sonntag, 20. Dezember 2015, 09:26:29 schrieb Ian Wadham:
>>> The QApplication doco on this method is a bit ambiguous, see:
>>> Qt 4 - http://doc.qt.io/qt-4.8/qapplication.html#doubleClickInterval-prop
>>> Qt 5 - http://doc.qt.io/qt-5/qapplication.html#doubleClickInterval-prop
>>
>> Indeed. That's scary to read. The behaviour might have been changed to
>> "affects this application only" in Qt5 but who knows until tested on
>> all platforms.
>>
>>> So, please remove those two lines from main.cpp and use my patch for
>>> KMahjongg's GameScene class files.
>>
>> Anyway, I applied your patch. Here it works as the first click selects
>> the tile and the second click is ignored when it occurs within the
>> double-click timespan. Is that what you intended?
>
> Thanks, Frederik. That is absolutely what I intended, but the patch uses
> accept(), rather than ignore(), in the double-click event-handler, and then
> performs no action. That is what I call "swallowing" the event" (old-time
> real-time programmer's jargon).
>
> In Qt's Event class, "ignore()" passes the event up the chain for a default
> action, which is NOT what is wanted, because it can allow a tile to be
> selected and removed invalidly (against the rules of KMahjongg).
>
> Cheers, Ian W.
>
> _______________________________________________
> kde-games-devel mailing list
> kde-games-devel at kde.org
> https://mail.kde.org/mailman/listinfo/kde-games-devel
More information about the kde-games-devel
mailing list