Bug 316033

Summary: Switching from one aurorae theme to another results in no decoration
Product: [Plasma] kwin Reporter: eric.erfanian
Component: auroraeAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: fevan
Priority: NOR Flags: thomas.luebking: ReviewRequest+
Version: 4.10.0   
Target Milestone: 4.10.2   
Platform: Arch Linux   
OS: Linux   
URL: https://git.reviewboard.kde.org/r/109273/
Latest Commit: Version Fixed In: 4.10.2
Sentry Crash Report:
Attachments: no decoration effect

Description eric.erfanian 2013-03-02 20:37:06 UTC
Curiously, switching from the non-decoration state back to a theme like KDE 2 or modern system corrects the issue. I am then able to switch between themes that would normally trigger the bug.

So, for example:

1) Switch to air-oxygen
2) Decorations disappear
3) Switch to modern desktop
4) Decorations are back
5) Switch to gaia-recycled (no issue)
6) Switch to air-oxygen (bug reappears)

I do not think it is limited to GHNS themes -- perhaps those that use transparency? 

Reproducible: Always

Steps to Reproduce:
1. Switch to a theme like air-oxygen
2. Switch to another theme like gaia-recycled

Actual Results:  
Window decorations disappears

Expected Results:  
Window decorations should switch cleanly.

qdbus org.kde.kwin /KWin supportInformation
KWin Support Information:
The following information should be used when requesting support on e.g. http://forum.kde.org.
It provides information about the currently running instance, which options are used,
what OpenGL driver and which effects are running.
Please post the information provided underneath this introductory text to a paste bin service
like http://paste.kde.org instead of pasting into support threads.

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

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

Options
=======
focusPolicy: 0
nextFocusPrefersMouse: false
clickRaise: true
autoRaise: false
autoRaiseInterval: 0
delayFocusInterval: 0
shadeHover: false
shadeHoverInterval: 250
separateScreenFocus: false
activeMouseScreen: 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
electricBorders: false
electricBorderDelay: 150
electricBorderCooldown: 350
electricBorderPushbackPixels: 1
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
glVSync: true
colorCorrected: false
xrenderSmoothScale: true
maxFpsInterval: 17
refreshRate: 0
vBlankTime: 6144
glDirect: true
glStrictBinding: false
glStrictBindingFollowsDriver: true
glLegacy: false

Screens
=======
Multi-Head: no
Number of Screens: 2
Screen 0 Geometry: 0,0,1920x1080
Screen 1 Geometry: 1920,0,1920x1080

Compositing
===========
Qt Graphics System: raster
Compositing is active
Compositing Type: OpenGL
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GT 430/PCIe/SSE2
OpenGL version string: 4.3.0 NVIDIA 313.18
Driver: NVIDIA
Driver version: 313.18
GPU class: GF100
OpenGL version: 4.3
X server version: 1.13.2
Linux kernel version: 3.7.9
Direct rendering: yes
Requires strict binding: no
GLSL shaders:  yes
Texture NPOT support:  yes
Virtual Machine:  no
OpenGL 2 Shaders are used

Loaded Effects:
---------------
kwin4_effect_login
kwin4_effect_slidingpopups
kwin4_effect_coverswitch
kwin4_effect_minimizeanimation
kwin4_effect_translucency
kwin4_effect_cubeslide
kwin4_effect_scalein
kwin4_effect_screenshot
kwin4_effect_cube
kwin4_effect_desktopgrid
kwin4_effect_maximize
kwin4_effect_fade
kwin4_effect_dialogparent
kwin4_effect_highlightwindow
kwin4_effect_taskbarthumbnail
kwin4_effect_presentwindows
kwin4_effect_blur
kwin4_effect_logout
kwin4_effect_dashboard
kwin4_effect_outline

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

Effect Settings:
----------------
kwin4_effect_login:
fadeToBlack: false

kwin4_effect_slidingpopups:
fadeInTime: 125
fadeOutTime: 125

kwin4_effect_coverswitch:
animationDuration: 100
animateSwitch: true
animateStart: true
animateStop: true
reflection: true
windowTitle: true
zPosition: 900
dynamicThumbnails: true
thumbnailWindows: 8
primaryTabBox: true
secondaryTabBox: false

kwin4_effect_minimizeanimation:

kwin4_effect_translucency:
decoration: 1
moveResize: 0.8
dialogs: 1
inactive: 1
comboboxPopups: 1
menus: 1
individualMenuConfig: false
dropDownMenus: 1
popupMenus: 1
tornOffMenus: 1

kwin4_effect_cubeslide:
rotationDuration: 250
dontSlidePanels: true
dontSlideStickyWindows: false
usePagerLayout: true
useWindowMoving: false

kwin4_effect_scalein:

kwin4_effect_screenshot:

kwin4_effect_cube:
cubeOpacity: 0.800000011920929
opacityDesktopOnly: false
displayDesktopName: true
reflection: true
rotationDuration: 250
backgroundColor: #000000
capColor: #d6d2d0
paintCaps: true
closeOnMouseRelease: false
zPosition: 100
useForTabBox: false
invertKeys: false
invertMouse: false
capDeformationFactor: 0
useZOrdering: false
texturedCaps: true

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

kwin4_effect_maximize:

kwin4_effect_fade:

kwin4_effect_dialogparent:
changeTime: 150

kwin4_effect_highlightwindow:

kwin4_effect_taskbarthumbnail:

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: 12
cacheTexture: false

kwin4_effect_logout:
useBlur: true

kwin4_effect_dashboard:
brightness: 0.5
saturation: 0.5
blur: false

kwin4_effect_outline:
Comment 1 eric.erfanian 2013-03-02 20:37:32 UTC
Created attachment 77690 [details]
no decoration effect
Comment 2 Thomas Lübking 2013-03-02 20:47:46 UTC
It so far rather sounds as if specific to "air-oxygen".
Could you reproduce it with *any* other decoration?
Comment 3 eric.erfanian 2013-03-02 20:54:10 UTC
It also triggers when switching from ElementaryLuna, Ghost-Deco 2.2, Chrome, Perfection...
Comment 4 Thomas Lübking 2013-03-02 20:55:16 UTC
Not "from" - "to".
Does it happen if you switch *to* anything but air-oxygen?
Comment 5 eric.erfanian 2013-03-02 20:57:54 UTC
Indeed, it also happen when switching to any of the aforementioned themes as well.
Comment 6 Thomas Lübking 2013-03-02 21:05:20 UTC
Does it happen with xrender compositing (and/or the native graphicssystem)
Comment 7 eric.erfanian 2013-03-02 21:08:21 UTC
It still happens with xrender/native composting.
Comment 8 Thomas Lübking 2013-03-02 21:12:28 UTC
The problem is inside the aurorae engine.
When you switch from one aurorae theme to another, there's no longer any decoration. Not related to compositing, it's not a visual thing at all.
Comment 9 Thomas Lübking 2013-03-02 21:40:52 UTC
I suspect "mgr->destroyPreviousPlugin();" will destroy the aurorae plugin being still the same as used (singleton factory?)
Comment 10 Thomas Lübking 2013-03-03 15:42:26 UTC
Nope, this:
m_engine->rootContext()->setContextProperty("auroraeTheme", m_theme);
somehow fails - i get
file:///usr/share/apps/kwin/aurorae/aurorae.qml:166: Unable to assign [undefined] to QColor color

for every auroraeTheme attribute accessed in aurorae.qml or AuroraeButton.qml
Comment 11 Thomas Lübking 2013-03-24 21:54:44 UTC
Git commit 45a6f0a2ecc79fe974f69cde6c4941dfb6ec5ab8 by Thomas Lübking.
Committed on 03/03/2013 at 21:46.
Pushed by luebking into branch 'KDE/4.10'.

fix aurorae theme loading

I've no real idea what breaks the theme -> qml assignment but the patch
re/creates the theme object (just as the engine and component) with the theme
FIXED-IN: 4.10.2
REVIEW: 109273

M  +2    -5    kwin/clients/aurorae/src/aurorae.cpp

http://commits.kde.org/kde-workspace/45a6f0a2ecc79fe974f69cde6c4941dfb6ec5ab8
Comment 12 Martin Flöser 2013-04-05 13:36:48 UTC
*** Bug 314728 has been marked as a duplicate of this bug. ***