Bug 241415

Summary: Some games don't work
Product: [Plasma] Oxygen Reporter: Antonio Rojas <arojas>
Component: styleAssignee: Hugo Pereira Da Costa <hugo.pereira.da.costa>
Status: RESOLVED FIXED    
Severity: normal CC: caionnew, hugo.pereira.da.costa, yatt12+kde
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Antonio Rojas 2010-06-11 13:12:29 UTC
Version:           unspecified (using Devel) 
OS:                Linux

Some games are unusable with oxygen style:

bomber, kbounce: clicking anywhere starts dragging the window
kreversi, kolorlines: clicking doesn't do anything at all

Reproducible: Always
Comment 1 Hugo Pereira Da Costa 2010-06-11 14:05:59 UTC
Will try to fix ASAP. In the meanwhile you can 
- type oxygen-settings
- change the "window's drag mode" to either "titlebar only" or "titlebar,
menubar and toolbar" (which will likely be the default for kde4.5rc1.
(was set to 'all empty' areas for beta cycle to trigger and try fix these kind
of bugs)
Comment 2 Hugo Pereira Da Costa 2010-06-11 19:26:21 UTC
mmm. I messed up the commit log.

Following commit (see below) fixes, I think, all the issues you report.
It possibly fixes many other similar issues, since I had to seriously revisit how the grabbing is done. 

I'll keep the bug open for confirmation (likely with 4.5 beta3)

For bomber, kreversi and klines, one still can "grab" the window from the main view, but at least, not in an "unexpected way" (meaning: you have to click, and move, for a long enough distance, to start dragging), and not in a way that conflicts with gameplay. 

For kbounce, grab is completely disabled. 

Thanks _a lot_ for reporting this, I think it really helped making the grab more robust.

----------------------------------------------------------------------------
r1137112 | hpereiradacosta | 2010-06-11 11:25:46 -0600 (Fri, 11 Jun 2010) 

Use separate eventFilter to handle application-wise events.

Added a mechanism to lock the window drag object, when one candidate event is recieved, so that 
when this event is propagated to parent widgets, it is not checked again. Lock is removed at 
next mouseReleaseEvent

Never eat mousePress events, since they are not used (directly) to trigger the grab.

Cleaned up blackListing using the new functionalities above.

Fixed a number of conflicts between apps' events and window grabbing, using the functionalities above.
Comment 3 Parker Coates 2010-06-17 01:15:14 UTC
*** Bug 241854 has been marked as a duplicate of this bug. ***
Comment 4 Antonio Rojas 2010-06-27 12:34:21 UTC
Confirmed fixed in RC1