Bug 325869

Summary: MouseClick Effect repaint calculation broken, causes artifacts of hinting effectframe
Product: [Plasma] kwin Reporter: Michael <gen.9.madblock>
Component: effects-variousAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED FIXED    
Severity: minor CC: utf8snowman
Priority: NOR Flags: thomas.luebking: ReviewRequest+
Version: 4.11.2   
Target Milestone: ---   
Platform: Gentoo Packages   
OS: Linux   
URL: https://git.reviewboard.kde.org/r/113212/
Latest Commit: Version Fixed In: 4.11.3
Attachments: Screenshot of the issue

Description Michael 2013-10-11 00:14:06 UTC
Sometimes certain effects of menus leave shadows behind. A way to reproduce this issue is by using the 'Hilight Mouseclicks' effect. Clicking repeated times causes black fragments and shadow leftovers.

OpenGL renderer,
 KDE 4.10 and 4.11, kernel 3.11, same with nvidia-blob driver and 2.21 intel video driver.

Reproducible: Always
Comment 1 Michael 2013-10-11 00:16:52 UTC
Created attachment 82782 [details]
Screenshot of the issue

Screenshot showing the issue of leftover shadows.
Comment 2 Thomas Lübking 2013-10-11 09:46:10 UTC
screenshot looks like tooltip shadows, bug #324560 ?
Comment 3 Michael 2013-10-11 12:03:08 UTC
I accidentally set the KDE version to 4.11.1 while I do use x.2

Alos, I verified that the code from the other bugreport is applied:
draget-lap kwin # cat /var/tmp/portage/kde-base/kwin-4.11.2/work/kwin-4.11.2/kwin/events.cpp  | sed '1524!d'
        emit geometryChanged(); // update shadow region

Yet the rendering-issues are still present and reproducible by clicking around with the 'Animate Mouseclicks' effect turned on. qtgraphicsystem raster/native and OpenGL Version do not affect it, tested on an nvidia and intel machine.
Comment 4 Thomas Lübking 2013-10-11 19:42:55 UTC
Please attach the output of "qdbus org.kde.kwin /KWin supportInformation" then.
Do the artifacts stem from popups or tooltips or either (or nothing?)?
Comment 5 Michael 2013-10-11 20:59:07 UTC
It is the text-tooltip of the mouse-click effect. That overlays saying 'left' or 'right'.

It happens when I click repeatedly - when the tooltip does not disappear on its own but is interrupted by my clicks.

The output of my laptop with intel GPU:
draget@draget-lap ~ $ qdbus org.kde.kwin /KWin supportInformation
KWin-Unterstützungsinformationen:
Benutzen Sie die folgenden Informationen, wenn Sie nach Unterstützung fragen, z. B. auf http://forum.kde.org.
Sie enthalten Informationen über die momentan laufende Instanz, welche Optionen verwendet werden,
welcher OpenGL-Treiber verwendet wird und welche Effekte laufen.
Bitte geben Sie die untenstehenden Informationen bei einem Pastebin-Dienst wie http://paste.kde.org ein, anstatt sie direkt in die Hilfediskussionen zu schreiben.

==========================

Version
=======
KWin version: 4.11.2
KDE SC version (runtime): 4.11.2
KDE SC version (compile): 4.11.2
Qt Version: 4.8.4

Options
=======
focusPolicy: 0
nextFocusPrefersMouse: true
clickRaise: true
autoRaise: false
autoRaiseInterval: 0
delayFocusInterval: 0
shadeHover: false
shadeHoverInterval: 250
separateScreenFocus: false
placement: 4
focusPolicyIsReasonable: true
borderSnapZone: 10
windowSnapZone: 10
centerSnapZone: 0
snapOnlyWhenOverlapping: false
showDesktopIsMinimizeAll: false
rollOverDesktops: true
focusStealingPreventionLevel: 1
legacyFullscreenSupport: false
operationTitlebarDblClick: 
commandActiveTitlebar1: 0
commandActiveTitlebar2: 30
commandActiveTitlebar3: 2
commandInactiveTitlebar1: 4
commandInactiveTitlebar2: 30
commandInactiveTitlebar3: 2
commandWindow1: 7
commandWindow2: 8
commandWindow3: 8
commandWindowWheel: 31
commandAll1: 10
commandAll2: 3
commandAll3: 14
keyCmdAllModKey: 16777251
showGeometryTip: false
condensedTitle: false
electricBorderMaximize: true
electricBorderTiling: true
electricBorderCornerRatio: 0.25
borderlessMaximizedWindows: false
killPingTimeout: 5000
hideUtilityWindowsForInactive: true
inactiveTabsSkipTaskbar: false
autogroupSimilarWindows: false
autogroupInForeground: true
compositingMode: 1
useCompositing: true
compositingInitialized: true
hiddenPreviews: 1
unredirectFullscreen: false
glSmoothScale: 1
colorCorrected: false
xrenderSmoothScale: false
maxFpsInterval: 16666666
refreshRate: 0
vBlankTime: 6000000
glDirect: true
glStrictBinding: false
glStrictBindingFollowsDriver: true
glLegacy: false
glCoreProfile: true
glPreferBufferSwap: 101

Screen Edges
============
desktopSwitching: false
desktopSwitchingMovingClients: false
cursorPushBackDistance: 
timeThreshold: 150
reActivateThreshold: 350
actionTopLeft: 0
actionTop: 0
actionTopRight: 0
actionRight: 0
actionBottomRight: 0
actionBottom: 0
actionBottomLeft: 0
actionLeft: 0

Screens
=======
Multi-Head: no
Active screen follows mouse:  no
Number of Screens: 1
Screen 0 Geometry: 0,0,1366x768

Decoration
==========
Current Plugin: kwin3_oxygen
Shadows: yes
Alpha: yes
Announces Alpha: yes
Tabbing: yes
Frame Overlap: no
Blur Behind: no

Compositing
===========
Qt Graphics System: raster
Compositing is active
Compositing Type: OpenGL
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Sandybridge Mobile 
OpenGL version string: 3.1 (Core Profile) Mesa 9.1.6
OpenGL shading language version string: 1.40
Driver: Intel
GPU class: SandyBridge
OpenGL version: 3.1
GLSL version: 1.40
Mesa version: 9.1.6
X server version: 1.14.3
Linux kernel version: 3.10.13
Direct rendering: yes
Requires strict binding: no
GLSL shaders:  yes
Texture NPOT support:  yes
Virtual Machine:  no
OpenGL 2 Shaders are used
Painting blocks for vertical retrace:  no

Loaded Effects:
---------------
kwin4_effect_zoom
kwin4_effect_slidingpopups
kwin4_effect_login
kwin4_effect_screenshot
kwin4_effect_slide
kwin4_effect_desktopgrid
kwin4_effect_translucency
kwin4_effect_maximize
kwin4_effect_taskbarthumbnail
kwin4_effect_dialogparent
kwin4_effect_presentwindows
kwin4_effect_blur
kwin4_effect_logout
kwin4_effect_dashboard
kwin4_effect_screenedge
kwin4_effect_startupfeedback
kwin4_effect_kscreen

Currently Active Effects:
-------------------------
kwin4_effect_blur

Effect Settings:
----------------
kwin4_effect_zoom:
zoomFactor: 1.2
mousePointer: 0
mouseTracking: 0
enableFocusTracking: false
followFocus: true
focusDelay: 350
moveFactor: 20
targetZoom: 1

kwin4_effect_slidingpopups:
fadeInTime: 125
fadeOutTime: 125

kwin4_effect_login:

kwin4_effect_screenshot:

kwin4_effect_slide:

kwin4_effect_desktopgrid:
zoomDuration: 150
border: 7
desktopNameAlignment: 0
layoutMode: 0
customLayoutRows: 2
usePresentWindows: true

kwin4_effect_translucency:

kwin4_effect_maximize:

kwin4_effect_taskbarthumbnail:

kwin4_effect_dialogparent:

kwin4_effect_presentwindows:
layoutMode: 0
showCaptions: true
showIcons: true
doNotCloseWindows: false
ignoreMinimized: false
accuracy: 20
fillGaps: true
fadeDuration: 75
showPanel: false
leftButtonWindow: 1
rightButtonWindow: 2
middleButtonWindow: 0
leftButtonDesktop: 2
middleButtonDesktop: 0
rightButtonDesktop: 0
dragToClose: false

kwin4_effect_blur:
blurRadius: 4
cacheTexture: true

kwin4_effect_logout:
useBlur: true

kwin4_effect_dashboard:
brightness: 0.5
saturation: 0.5
blur: false

kwin4_effect_screenedge:

kwin4_effect_startupfeedback:

kwin4_effect_kscreen:
Comment 6 Thomas Lübking 2013-10-11 22:33:10 UTC
The information were obtained when the effect was disabled ... ;-)

Anyway, on top of the additional information, i could reproduce it.
Just to be sure: what settings do you use for the rings?
(Width, duration, radius and count)
Comment 7 Michael 2013-10-13 17:40:39 UTC
Default values:
width: 1px
duration: 300me
radius: 20px
count: 2
font: Sans Serif 9

It is really a minor thing. Just thought I help polishing the last pre-5 release =D

After the 4.10 -> 4.11 update my plasma config was messed up somehow (controlbar turned invisible?). But since I had changed so many settings and plasmoids, thought I try a clean config.
Comment 8 Thomas Lübking 2013-10-13 18:50:08 UTC
I couldn't reproduce it with similar settings, but given the code was pretty much nonsense, i don't wonder too much.

Since you're on gentoo, feel free to try the patch in the linked review request.

And "only a dead bug is a good bug", so it's appreciated to report them - no matter how small they are (I sense that I'll soon regret this statement ;-)
Comment 9 Michael 2013-10-13 23:01:57 UTC
Reading your last post I thought you *were* able to reproduce it. :-P
Anyhow. Patched, tested and it works rock solid!

If I knew it was only that silly effect and no deeper issue I would have left it alone. Thanks a lot, not only for polishing, but for all of KDE. =D
Comment 10 Thomas Lübking 2013-10-13 23:08:22 UTC
Thefinat commit will "fix" the bug automagically ;-)
Comment 11 Thomas Lübking 2013-10-20 18:02:26 UTC
Git commit 7ef5391fc148ae25443d7115cec4327d0f084f8d by Thomas Lübking.
Committed on 12/10/2013 at 09:47.
Pushed by luebking into branch 'KDE/4.11'.

fix mouseclick animation repaint areas

REVIEW: 113212
FIXED-IN: 4.11.3

M  +6    -16   kwin/effects/mouseclick/mouseclick.cpp

http://commits.kde.org/kde-workspace/7ef5391fc148ae25443d7115cec4327d0f084f8d
Comment 12 Martin Flöser 2014-01-08 14:00:30 UTC
*** Bug 328265 has been marked as a duplicate of this bug. ***