Fix memory leak on 'indicator' plugin destruction.
authorAndriy Grytsenko <andrej@rep.kiev.ua>
Sat, 2 Jan 2016 21:14:17 +0000 (23:14 +0200)
committerAndriy Grytsenko <andrej@rep.kiev.ua>
Fri, 12 Feb 2016 17:10:09 +0000 (19:10 +0200)
ChangeLog
TODO
plugins/indicator/indicator.c
plugins/volumealsa/volumealsa.c

index 64a67e8..ee5f7f3 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,7 @@
 * Fixed crash in taskbar plugin after number of desktops was updated.
 * Fixed incorrect panel geometry initialization.
 * Fixed crash with invalid size of icon in _NET_WM_ICON property.
+* Fixed memory leak on 'indicator' plugin destruction.
 
 0.8.1
 -------------------------------------------------------------------------
diff --git a/TODO b/TODO
index ea4445a..413bf75 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,6 +1,7 @@
 * drag & drop plugins via middle button
 * "Move" option in plugin context menu
 * "lxpanelctl command ..."
+* LXPanelPluginInit::activatable flag to allow activation with hotkey
 * drag & drop launchers (LauncherButton widget as "application/x-lxpanel-launcher")
 * accessibility (keys-only; single-button-mouse; special devices)
 * 'volumealsa' improvements
@@ -19,3 +20,5 @@
 * support custom timezone in the 'dclock'
 * decide 'netstat' vs 'netstatus'
 * optional libnotify support (useful for battery and volume plugins)
+* pull improvements from Raspbian
+* add Most Recent support into 'menu' plugin
index e4477cf..615aa02 100644 (file)
@@ -93,6 +93,8 @@ static const gchar * indicator_env[] = {
   NULL
 };
 
+static void indicator_destructor(gpointer user_data);
+
 static gint
 name2order (const gchar * name, const gchar * hint) {
   int i;
@@ -739,7 +741,7 @@ static GtkWidget *indicator_constructor(LXPanel *panel, config_setting_t *settin
 
     /* Allocate top level widget and set into Plugin widget pointer. */
     p = gtk_event_box_new();
-    lxpanel_plugin_set_data(p, indicator, g_free);
+    lxpanel_plugin_set_data(p, indicator, indicator_destructor);
 
     gtk_rc_parse_string (
         "style \"indicator-applet-style\"\n"
@@ -794,7 +796,6 @@ static GtkWidget *indicator_constructor(LXPanel *panel, config_setting_t *settin
     return p;
 }
 
-#if 0
 /* Plugin destructor. */
 static void indicator_destructor(gpointer user_data)
 {
@@ -804,7 +805,6 @@ static void indicator_destructor(gpointer user_data)
     g_object_unref(indicator->menubar);
     g_free(indicator);
 }
-#endif
 
 /* Callback when panel configuration changes. */
 static void indicator_panel_configuration_changed(LXPanel *panel, GtkWidget *p)
index 2aaa643..5683be1 100644 (file)
@@ -712,6 +712,7 @@ static GtkWidget *volumealsa_configure(LXPanel *panel, GtkWidget *p)
     config_setting_lookup_string(vol->settings, "MixerCommand", &command_line);
     /* FIXME: support "needs terminal" for MixerCommand */
     /* FIXME: selection for master channel! */
+    /* FIXME: selection for the device */
     /* FIXME: configure buttons for each action (toggle volume/mixer/mute)! */
     /* FIXME: allow bind multimedia keys to volume using libkeybinder */