@@ -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 ) {
@@ -686,8 +685,13 @@ var ExpoWorkspaceThumbnail = GObject.registerClass({
686685 this . _slideTimeline . run_dispose ( ) ;
687686 this . _slideTimeline = null ;
688687 }
689- super . destroy ( ) ;
688+ if ( this . _collapseTimeline ) {
689+ this . _collapseTimeline . stop ( ) ;
690+ this . _collapseTimeline . run_dispose ( ) ;
691+ this . _collapseTimeline = null ;
692+ }
690693 this . frame . destroy ( ) ;
694+ super . destroy ( ) ;
691695 }
692696
693697 onDestroy ( actor ) {
@@ -1076,7 +1080,7 @@ var ExpoThumbnailsBox = GObject.registerClass({
10761080 } ,
10771081 Signals : {
10781082 'set-overview-mode' : { param_types : [ GObject . TYPE_BOOLEAN ] } ,
1079- 'sticky-detected' : { } ,
1083+ 'sticky-detected' : { param_types : [ GObject . TYPE_OBJECT ] } ,
10801084 'allocated' : { } ,
10811085 'drag-begin' : { } ,
10821086 'drag-end' : { } ,
@@ -1106,7 +1110,7 @@ var ExpoThumbnailsBox = GObject.registerClass({
11061110 DND . DragMotionResult . MOVE_DROP : DND . DragMotionResult . CONTINUE ;
11071111 } ;
11081112 this . background . acceptDrop = ( source , actor , x , y , time ) => {
1109- if ( this . background . handleDragOver . apply ( this , arguments ) === DND . DragMotionResult . MOVE_DROP ) {
1113+ if ( this . background . handleDragOver ( source , actor , x , y , time ) === DND . DragMotionResult . MOVE_DROP ) {
11101114 let draggable = source . _draggable ;
11111115 actor . get_parent ( ) . remove_actor ( actor ) ;
11121116 draggable . _dragOrigParent . add_actor ( actor ) ;
@@ -1322,13 +1326,12 @@ var ExpoThumbnailsBox = GObject.registerClass({
13221326 overviewTimeoutId = GLib . timeout_add ( GLib . PRIORITY_DEFAULT , timeout , func ) ;
13231327 }
13241328 } ;
1325- thumbnail . connect ( 'destroy' , ( actor ) => {
1329+ thumbnail . connect ( 'destroy' , ( ) => {
13261330 setOverviewTimeout ( 0 , function ( ) {
13271331 overviewTimeoutId = 0 ;
13281332 } ) ;
13291333 this . remove_child ( thumbnail . title ) ;
13301334 this . remove_child ( thumbnail . frame ) ;
1331- this . remove_child ( actor ) ;
13321335 thumbnail . title . destroy ( ) ;
13331336 } ) ;
13341337 this . add_child ( thumbnail . title ) ;
@@ -1364,6 +1367,7 @@ var ExpoThumbnailsBox = GObject.registerClass({
13641367 thumbnail . overviewModeOn ( ) ;
13651368 }
13661369 overviewTimeoutId = 0 ;
1370+ return GLib . SOURCE_REMOVE ;
13671371 } ) ;
13681372 }
13691373 } ) ;
@@ -1380,6 +1384,7 @@ var ExpoThumbnailsBox = GObject.registerClass({
13801384 thumbnail . overviewModeOff ( ) ;
13811385 }
13821386 overviewTimeoutId = 0 ;
1387+ return GLib . SOURCE_REMOVE ;
13831388 } ) ;
13841389 }
13851390 } ) ;
@@ -1462,9 +1467,10 @@ var ExpoThumbnailsBox = GObject.registerClass({
14621467 function ( thumbnail ) {
14631468 thumbnail . hide ( ) ;
14641469 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' , ( ) => {
1470+ thumbnail . _collapseTimeline = new Clutter . Timeline ( { duration : RESCALE_ANIMATION_TIME } ) ;
1471+ thumbnail . _collapseTimeline . set_progress_mode ( Clutter . AnimationMode . EASE_OUT_QUAD ) ;
1472+ thumbnail . _collapseTimeline . connect ( 'completed' , ( ) => {
1473+ thumbnail . _collapseTimeline = null ;
14681474 this . stateCounts [ thumbnail . state ] -- ;
14691475 thumbnail . state = ThumbnailState . DESTROYED ;
14701476
@@ -1481,7 +1487,7 @@ var ExpoThumbnailsBox = GObject.registerClass({
14811487
14821488 this . queueUpdateStates ( ) ;
14831489 } ) ;
1484- collapseTimeline . start ( ) ;
1490+ thumbnail . _collapseTimeline . start ( ) ;
14851491 } ) ;
14861492
14871493 if ( this . pendingScaleUpdate ) {
0 commit comments