@@ -220,8 +220,8 @@ var ExpoWindowClone = GObject.registerClass({
220220
221221 destroy ( ) {
222222 this . killUrgencyTimeout ( ) ;
223- super . destroy ( ) ;
224223 this . icon = null ;
224+ super . destroy ( ) ;
225225 }
226226
227227 onPositionChanged ( ) {
@@ -299,7 +299,6 @@ var ExpoWorkspaceThumbnail = GObject.registerClass({
299299 'drag-over' : { } ,
300300 'drag-end' : { } ,
301301 'drag-begin' : { } ,
302- 'remove-workspace' : { } ,
303302 } ,
304303} , class ExpoWorkspaceThumbnail extends St . Widget {
305304 _init ( metaWorkspace , box ) {
@@ -468,13 +467,11 @@ var ExpoWorkspaceThumbnail = GObject.registerClass({
468467 this . _slideTimeline . set_progress_mode ( mode ) ;
469468 this . _slideTimeline . connect ( 'new-frame' , ( ) => {
470469 let progress = this . _slideTimeline . get_progress ( ) ;
471- this . _slidePosition = startValue + ( target - startValue ) * progress ;
472- if ( this . box ) this . box . queue_relayout ( ) ;
470+ this . slidePosition = startValue + ( target - startValue ) * progress ;
473471 } ) ;
474472 this . _slideTimeline . connect ( 'completed' , ( ) => {
475- this . _slidePosition = target ;
473+ this . slidePosition = target ;
476474 this . _slideTimeline = null ;
477- if ( this . box ) this . box . queue_relayout ( ) ;
478475 if ( onComplete ) onComplete ( ) ;
479476 } ) ;
480477 this . _slideTimeline . start ( ) ;
@@ -686,8 +683,12 @@ var ExpoWorkspaceThumbnail = GObject.registerClass({
686683 this . _slideTimeline . run_dispose ( ) ;
687684 this . _slideTimeline = null ;
688685 }
686+ if ( this . _collapseTimeline ) {
687+ this . _collapseTimeline . stop ( ) ;
688+ this . _collapseTimeline . run_dispose ( ) ;
689+ this . _collapseTimeline = null ;
690+ }
689691 super . destroy ( ) ;
690- this . frame . destroy ( ) ;
691692 }
692693
693694 onDestroy ( actor ) {
@@ -1076,7 +1077,7 @@ var ExpoThumbnailsBox = GObject.registerClass({
10761077 } ,
10771078 Signals : {
10781079 'set-overview-mode' : { param_types : [ GObject . TYPE_BOOLEAN ] } ,
1079- 'sticky-detected' : { } ,
1080+ 'sticky-detected' : { param_types : [ GObject . TYPE_OBJECT ] } ,
10801081 'allocated' : { } ,
10811082 'drag-begin' : { } ,
10821083 'drag-end' : { } ,
@@ -1106,7 +1107,7 @@ var ExpoThumbnailsBox = GObject.registerClass({
11061107 DND . DragMotionResult . MOVE_DROP : DND . DragMotionResult . CONTINUE ;
11071108 } ;
11081109 this . background . acceptDrop = ( source , actor , x , y , time ) => {
1109- if ( this . background . handleDragOver . apply ( this , arguments ) === DND . DragMotionResult . MOVE_DROP ) {
1110+ if ( this . background . handleDragOver ( source , actor , x , y , time ) === DND . DragMotionResult . MOVE_DROP ) {
11101111 let draggable = source . _draggable ;
11111112 actor . get_parent ( ) . remove_actor ( actor ) ;
11121113 draggable . _dragOrigParent . add_actor ( actor ) ;
@@ -1322,14 +1323,14 @@ var ExpoThumbnailsBox = GObject.registerClass({
13221323 overviewTimeoutId = GLib . timeout_add ( GLib . PRIORITY_DEFAULT , timeout , func ) ;
13231324 }
13241325 } ;
1325- thumbnail . connect ( 'destroy' , ( actor ) => {
1326+ thumbnail . connect ( 'destroy' , ( ) => {
13261327 setOverviewTimeout ( 0 , function ( ) {
13271328 overviewTimeoutId = 0 ;
13281329 } ) ;
13291330 this . remove_child ( thumbnail . title ) ;
13301331 this . remove_child ( thumbnail . frame ) ;
1331- this . remove_child ( actor ) ;
13321332 thumbnail . title . destroy ( ) ;
1333+ thumbnail . frame . destroy ( ) ;
13331334 } ) ;
13341335 this . add_child ( thumbnail . title ) ;
13351336 this . add_child ( thumbnail . frame ) ;
@@ -1364,6 +1365,7 @@ var ExpoThumbnailsBox = GObject.registerClass({
13641365 thumbnail . overviewModeOn ( ) ;
13651366 }
13661367 overviewTimeoutId = 0 ;
1368+ return GLib . SOURCE_REMOVE ;
13671369 } ) ;
13681370 }
13691371 } ) ;
@@ -1380,6 +1382,7 @@ var ExpoThumbnailsBox = GObject.registerClass({
13801382 thumbnail . overviewModeOff ( ) ;
13811383 }
13821384 overviewTimeoutId = 0 ;
1385+ return GLib . SOURCE_REMOVE ;
13831386 } ) ;
13841387 }
13851388 } ) ;
@@ -1462,9 +1465,10 @@ var ExpoThumbnailsBox = GObject.registerClass({
14621465 function ( thumbnail ) {
14631466 thumbnail . hide ( ) ;
14641467 this . setThumbnailState ( thumbnail , ThumbnailState . COLLAPSING ) ;
1465- let collapseTimeline = new Clutter . Timeline ( { duration : RESCALE_ANIMATION_TIME } ) ;
1466- collapseTimeline . set_progress_mode ( Clutter . AnimationMode . EASE_OUT_QUAD ) ;
1467- collapseTimeline . connect ( 'completed' , ( ) => {
1468+ thumbnail . _collapseTimeline = new Clutter . Timeline ( { duration : RESCALE_ANIMATION_TIME } ) ;
1469+ thumbnail . _collapseTimeline . set_progress_mode ( Clutter . AnimationMode . EASE_OUT_QUAD ) ;
1470+ thumbnail . _collapseTimeline . connect ( 'completed' , ( ) => {
1471+ thumbnail . _collapseTimeline = null ;
14681472 this . stateCounts [ thumbnail . state ] -- ;
14691473 thumbnail . state = ThumbnailState . DESTROYED ;
14701474
@@ -1481,7 +1485,7 @@ var ExpoThumbnailsBox = GObject.registerClass({
14811485
14821486 this . queueUpdateStates ( ) ;
14831487 } ) ;
1484- collapseTimeline . start ( ) ;
1488+ thumbnail . _collapseTimeline . start ( ) ;
14851489 } ) ;
14861490
14871491 if ( this . pendingScaleUpdate ) {
0 commit comments