@@ -442,19 +442,20 @@ FocusScope {
442442 function easeInOutCubic(t) { return t<.5 ? 4*t*t*t : (t-1)*(2*t-2)*(2*t-2)+1 }
443443
444444 onDistanceChanged: {
445− if (!dragging || launcher.state == "visible")
446− return;
447−
448− panel.x = -panel.width + Math.min(Math.max(0, distance), panel.width);
445+ if (dragging && launcher.state != "visible" && launcher.state != "drawer") {
446+ panel.x = -panel.width + Math.min(Math.max(0, distance), panel.width);
447+ }
449448
450− var drawerHintDistance = panel.width + units.gu(1)
451− if (distance < drawerHintDistance) {
452− drawer.x = -drawer.width + Math.min(Math.max(0, distance), drawer.width);
453− } else {
454− var linearDrawerX = Math.min(Math.max(0, distance - drawerHintDistance), drawer.width);
455− var linearDrawerProgress = linearDrawerX / (drawer.width)
456− var easedDrawerProgress = easeInOutCubic(linearDrawerProgress);
457− drawer.x = (-drawer.width + drawerHintDistance) + easedDrawerProgress * (drawer.width - drawerHintDistance);
449+ if (dragging && launcher.state != "drawer") {
450+ var drawerHintDistance = panel.width + units.gu(1)
451+ if (distance < drawerHintDistance) {
452+ drawer.x = -drawer.width + Math.min(Math.max(0, distance), drawer.width);
453+ } else {
454+ var linearDrawerX = Math.min(Math.max(0, distance - drawerHintDistance), drawer.width);
455+ var linearDrawerProgress = linearDrawerX / (drawer.width)
456+ var easedDrawerProgress = easeInOutCubic(linearDrawerProgress);
457+ drawer.x = (-drawer.width + drawerHintDistance) + easedDrawerProgress * (drawer.width - drawerHintDistance);
458+ }
458459 }
459460 }
460461