It looks like the taskbarThumbnails might be leaking memory.

When moving the mouse across the taskbar viewing the different thumbnails the memory usage increases by quite a lot (viewed in the taskmanager (Windows) ).

I made an example script to illustrate the resource usage.

 

Test scenario: 20 windows;

1 Playground, 19 Nautilus browsers (these are minimized).

 

=============== Create Test Scenario ========================

              

19 timesRepeat: [

               Nautilus openOnClass: Object.

               World doOneCycle.

].

World doOneCycle.

World submorphs

               select: [ :m |

                              m isKindOf: NautilusWindow

               ]

               thenDo: [ :m | m minimize  ]

===== Enumerate the mouse moving from one taskbarButton to the next =======

 

| delay |

 

delay := [ :msToWait |

               | t |

               t := Time now asMilliSeconds.

               [ (Time now asMilliSeconds - t) < msToWait ]

                              whileTrue: [ World doOneCycle ].

              

].

20 timesRepeat: [

               World submorphs

                              detect: [:m | m isTaskbar ]

                              ifFound: [ :taskbar |

                                             taskbar orderedTasks collect: [ :task |

                                                            task morph

                                             ]

                                             thenDo: [ :morph |

                                                            | button |

                                                            button := (taskbar taskButtonOf: morph).

                                                            morph taskbarButtonEntered: button event: nil in: nil.

                                                            delay value: 100.

                                                            morph taskbarButtonLeft: button event: nil in: nil.

                                                            delay value: 100

                                             ]

                              ].

               Smalltalk garbageCollect.

].

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

 

Results: (Newest Win vm -> Image 50377)

 

opening the 20 Windows RAM used is 70MB.

1 iteration: 93MB

20 iterations: 130MB \ 190 MB when garbageCollect is commented out.

 

Should the resource usage be that high?

(a taskbarThumbnail is deleted before the next one is shown...)

 

Best regards,

Henrik