Re: Gtk2::ImageView memory issue



On Wed, 04 Mar 2009 20:08:56 +0100
Mario Kemper <mario kemper googlemail com> wrote:

Hi there,

I've implemented parts of my application with help of the great
Gtk2::ImageView module. 
In the last days i've noticed some memory leaking and found out that
Gtk2::ImageView::Tool::Selector is the reason for that. I've attached a
little demo to demonstrate my problem. Each time you press the Button a
screenshot will be taken and the ImageView will be updated. In this sub
the Gtk2::ImageView::Tool::Selector is created each time. While pressing
the button you can see that used memory will get higher and higher...So
there is a possible memory leak here.

Of course it is not useful to create the Gtk2::ImageView::Tool::Selector
each time, but this is just a little test to demonstrate my problem (the
functionality is in a module in my app).

Does anyone has a clue what to do here? Maybe i am doing something
totally wrong ...

sub fct_take_screenshot {
      my $button = shift;
      my $view = shift;

      #!!!!!!uncomment the following two lines to fix the memory leak here!!!!!!
      my $selector    = Gtk2::ImageView::Tool::Selector->new($view);
      $view->set_tool($selector);


I don't have Gtk2::ImageView installed, some dependency hassle IIRC.
But, you answered your own question... making a new selector probably is
bad.

You could try putting the following as a global in main:
my $selector    = Gtk2::ImageView::Tool::Selector->new( undef );


or possibly before you leave the sub: 
$selector->destroy;
undef $selector;

I've also had good luck, with just declaring a global like this, 
to reuse it's scalar namespace.

# in main
  my $selector;  #global scalar space

# in sub
        $selector    = Gtk2::ImageView::Tool::Selector->new($view);
        $view->set_tool($selector);

# at end of sub
      $view->set_tool(undef);
      $selector->destroy;
  

Just guessing at hacks from prior experience.
:-)

zentara


-- 
I'm not really a human, but I play one on earth.
http://www.zentara.net/~zentaran/My_Petition_to_the_Great_Cosmic_Conciousness.html 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]