~dx-unity/unity/unity.fix_702431

« back to all changes in this revision

Viewing changes to src/SimpleLauncherIcon.cpp

  • Committer: Mirco Müller
  • Date: 2011-03-28 10:17:18 UTC
  • mfrom: (1026.1.1 unity.fix-742110)
  • Revision ID: mirco.mueller@ubuntu.com-20110328101718-cx80unu37ovbpvud
modified:
  src/SimpleLauncherIcon.cpp
  src/SimpleLauncherIcon.h

Merged unity.fix-742110 after review and approval from Mikkel. This is
storing connection-objects for all sigc-signal-handers being connected in
the constructor of SimpleLauncherIcon, so they the can be cleanly
disconnected upon destruction of SimpleLauncherIcon. Fixing LP: #742110

Show diffs side-by-side

added added

removed removed

Lines of Context:
30
30
{
31
31
  m_Icon = 0;
32
32
  m_IconName = 0;
33
 
  
34
 
  LauncherIcon::MouseDown.connect (sigc::mem_fun (this, &SimpleLauncherIcon::OnMouseDown));
35
 
  LauncherIcon::MouseUp.connect (sigc::mem_fun (this, &SimpleLauncherIcon::OnMouseUp));
36
 
  LauncherIcon::MouseClick.connect (sigc::mem_fun (this, &SimpleLauncherIcon::OnMouseClick));
37
 
  LauncherIcon::MouseEnter.connect (sigc::mem_fun (this, &SimpleLauncherIcon::OnMouseEnter));
38
 
  LauncherIcon::MouseLeave.connect (sigc::mem_fun (this, &SimpleLauncherIcon::OnMouseLeave));
 
33
 
 
34
  _on_mouse_down_connection = (sigc::connection) LauncherIcon::MouseDown.connect (sigc::mem_fun (this, &SimpleLauncherIcon::OnMouseDown));
 
35
  _on_mouse_up_connection = (sigc::connection) LauncherIcon::MouseUp.connect (sigc::mem_fun (this, &SimpleLauncherIcon::OnMouseUp));
 
36
  _on_mouse_click_connection = (sigc::connection) LauncherIcon::MouseClick.connect (sigc::mem_fun (this, &SimpleLauncherIcon::OnMouseClick));
 
37
  _on_mouse_enter_connection = (sigc::connection) LauncherIcon::MouseEnter.connect (sigc::mem_fun (this, &SimpleLauncherIcon::OnMouseEnter));
 
38
  _on_mouse_leave_connection = (sigc::connection) LauncherIcon::MouseLeave.connect (sigc::mem_fun (this, &SimpleLauncherIcon::OnMouseLeave));
39
39
 
40
40
  _theme_changed_id = g_signal_connect (gtk_icon_theme_get_default (), "changed",
41
41
                                        G_CALLBACK (SimpleLauncherIcon::OnIconThemeChanged), this);
43
43
 
44
44
SimpleLauncherIcon::~SimpleLauncherIcon()
45
45
{
 
46
  _on_mouse_down_connection.disconnect ();
 
47
  _on_mouse_up_connection.disconnect ();
 
48
  _on_mouse_click_connection.disconnect ();
 
49
  _on_mouse_enter_connection.disconnect ();
 
50
  _on_mouse_leave_connection.disconnect ();
 
51
 
46
52
  if (m_Icon)
47
53
    m_Icon->UnReference ();
48
54