[Xfce4-commits] <xfce4-panel:devel> * Make xfce_panel_plugin_get_arguments() return a const gchar * const * so no unneeded relactions are made.

Nick Schermer nick at xfce.org
Tue Aug 11 20:24:37 CEST 2009


Updating branch refs/heads/devel
         to 5152a464a11ed12dc7b4e790512dfe052cd23512 (commit)
       from 7dd6a311b440570842ea8dae03bccfb558833cc9 (commit)

commit 5152a464a11ed12dc7b4e790512dfe052cd23512
Author: Nick Schermer <nick at xfce.org>
Date:   Wed Oct 8 23:10:45 2008 +0200

    * Make xfce_panel_plugin_get_arguments() return a const gchar * const *
      so no unneeded relactions are made.

 libxfce4panel/xfce-panel-plugin.c |   23 ++++-------
 libxfce4panel/xfce-panel-plugin.h |   74 ++++++++++++++++++------------------
 2 files changed, 46 insertions(+), 51 deletions(-)

diff --git a/libxfce4panel/xfce-panel-plugin.c b/libxfce4panel/xfce-panel-plugin.c
index f4f10f8..41c2579 100644
--- a/libxfce4panel/xfce-panel-plugin.c
+++ b/libxfce4panel/xfce-panel-plugin.c
@@ -899,7 +899,7 @@ xfce_panel_plugin_take_window_notify (gpointer  data,
  *
  * Return value: the name of the panel plugin.
  **/
-PANEL_SYMBOL_EXPORT G_CONST_RETURN gchar *
+PANEL_SYMBOL_EXPORT const gchar *
 xfce_panel_plugin_get_name (XfcePanelPlugin *plugin)
 {
   g_return_val_if_fail (XFCE_IS_PANEL_PLUGIN (plugin), NULL);
@@ -915,7 +915,7 @@ xfce_panel_plugin_get_name (XfcePanelPlugin *plugin)
  *
  * Return value: the (translated) display name of the plugin.
  **/
-PANEL_SYMBOL_EXPORT G_CONST_RETURN gchar *
+PANEL_SYMBOL_EXPORT const gchar *
 xfce_panel_plugin_get_display_name (XfcePanelPlugin *plugin)
 {
 
@@ -936,7 +936,7 @@ xfce_panel_plugin_get_display_name (XfcePanelPlugin *plugin)
  *
  * Return value: the unique id of the panel plugin.
  **/
-PANEL_SYMBOL_EXPORT G_CONST_RETURN gchar *
+PANEL_SYMBOL_EXPORT const gchar *
 xfce_panel_plugin_get_id (XfcePanelPlugin *plugin)
 {
   g_return_val_if_fail (XFCE_IS_PANEL_PLUGIN (plugin), NULL);
@@ -949,23 +949,18 @@ xfce_panel_plugin_get_id (XfcePanelPlugin *plugin)
 /**
  * xfce_panel_plugin_get_arguments:
  * @plugin    : an #XfcePanelPlugin.
- * @arguments : return location for the argument vector.
  *
- * Return value: %TRUE @arguments was set, %FALSE otherwise.
+ * Return value: the argument vector. The vector is owned by the plugin and 
+ *               should not be freed.
  *
  * Since: 4.8.0
  **/
-PANEL_SYMBOL_EXPORT gboolean
-xfce_panel_plugin_get_arguments (XfcePanelPlugin   *plugin,
-                                 gchar           ***arguments)
+PANEL_SYMBOL_EXPORT const gchar * const *
+xfce_panel_plugin_get_arguments (XfcePanelPlugin *plugin)
 {
-  g_return_val_if_fail (XFCE_IS_PANEL_PLUGIN (plugin), FALSE);
-
-  /* dupplicate the arguments */
-  if (G_LIKELY (arguments))
-    *arguments = g_strdupv (plugin->priv->arguments);
+  g_return_val_if_fail (XFCE_IS_PANEL_PLUGIN (plugin), NULL);
 
-  return !!(plugin->priv->arguments != NULL);
+  return (const gchar * const *) plugin->priv->arguments;
 }
 
 
diff --git a/libxfce4panel/xfce-panel-plugin.h b/libxfce4panel/xfce-panel-plugin.h
index b686296..fbbdb6c 100644
--- a/libxfce4panel/xfce-panel-plugin.h
+++ b/libxfce4panel/xfce-panel-plugin.h
@@ -81,66 +81,66 @@ struct _XfcePanelPlugin
 
 
 PANEL_SYMBOL_EXPORT
-GType               xfce_panel_plugin_get_type            (void) G_GNUC_CONST;
+GType                xfce_panel_plugin_get_type            (void) G_GNUC_CONST;
 
-const gchar        *xfce_panel_plugin_get_name            (XfcePanelPlugin   *plugin);
+const gchar         *xfce_panel_plugin_get_name            (XfcePanelPlugin   *plugin);
 
-const gchar        *xfce_panel_plugin_get_display_name    (XfcePanelPlugin   *plugin);
+const gchar         *xfce_panel_plugin_get_display_name    (XfcePanelPlugin   *plugin);
 
-const gchar        *xfce_panel_plugin_get_id              (XfcePanelPlugin   *plugin);
+const gchar         *xfce_panel_plugin_get_id              (XfcePanelPlugin   *plugin);
 
-gboolean            xfce_panel_plugin_get_arguments       (XfcePanelPlugin   *plugin,
+const gchar * const *xfce_panel_plugin_get_arguments       (XfcePanelPlugin   *plugin,
                                                            gchar           ***arguments);
 
-gint                xfce_panel_plugin_get_size            (XfcePanelPlugin   *plugin);
+gint                 xfce_panel_plugin_get_size            (XfcePanelPlugin   *plugin);
 
-gboolean            xfce_panel_plugin_get_expand          (XfcePanelPlugin   *plugin);
+gboolean             xfce_panel_plugin_get_expand          (XfcePanelPlugin   *plugin);
 
-void                xfce_panel_plugin_set_expand          (XfcePanelPlugin   *plugin,
-                                                           gboolean           expand);
+void                 xfce_panel_plugin_set_expand          (XfcePanelPlugin   *plugin,
+                                                            gboolean           expand);
 
-GtkOrientation      xfce_panel_plugin_get_orientation     (XfcePanelPlugin   *plugin);
+GtkOrientation       xfce_panel_plugin_get_orientation     (XfcePanelPlugin   *plugin);
 
-XfceScreenPosition  xfce_panel_plugin_get_screen_position (XfcePanelPlugin   *plugin);
+XfceScreenPosition   xfce_panel_plugin_get_screen_position (XfcePanelPlugin   *plugin);
 
-void                xfce_panel_plugin_take_window         (XfcePanelPlugin   *plugin,
-                                                           GtkWindow         *window);
+void                 xfce_panel_plugin_take_window         (XfcePanelPlugin   *plugin,
+                                                            GtkWindow         *window);
 
-void                xfce_panel_plugin_add_action_widget   (XfcePanelPlugin   *plugin,
-                                                           GtkWidget         *widget);
+void                 xfce_panel_plugin_add_action_widget   (XfcePanelPlugin   *plugin,
+                                                            GtkWidget         *widget);
 
-void                xfce_panel_plugin_menu_insert_item    (XfcePanelPlugin   *plugin,
-                                                           GtkMenuItem       *item);
+void                 xfce_panel_plugin_menu_insert_item    (XfcePanelPlugin   *plugin,
+                                                            GtkMenuItem       *item);
 
-void                xfce_panel_plugin_menu_show_configure (XfcePanelPlugin   *plugin);
+void                 xfce_panel_plugin_menu_show_configure (XfcePanelPlugin   *plugin);
 
-void                xfce_panel_plugin_menu_show_about     (XfcePanelPlugin   *plugin);
+void                 xfce_panel_plugin_menu_show_about     (XfcePanelPlugin   *plugin);
 
-void                xfce_panel_plugin_block_menu          (XfcePanelPlugin   *plugin);
+void                 xfce_panel_plugin_block_menu          (XfcePanelPlugin   *plugin);
 
-void                xfce_panel_plugin_unblock_menu        (XfcePanelPlugin   *plugin);
+void                 xfce_panel_plugin_unblock_menu        (XfcePanelPlugin   *plugin);
 
-void                xfce_panel_plugin_register_menu       (XfcePanelPlugin   *plugin,
-                                                           GtkMenu           *menu);
+void                 xfce_panel_plugin_register_menu       (XfcePanelPlugin   *plugin,
+                                                            GtkMenu           *menu);
 
-GtkArrowType        xfce_panel_plugin_arrow_type          (XfcePanelPlugin   *plugin);
+GtkArrowType         xfce_panel_plugin_arrow_type          (XfcePanelPlugin   *plugin);
 
-void                xfce_panel_plugin_position_widget     (XfcePanelPlugin   *plugin,
-                                                           GtkWidget         *menu_widget,
-                                                           GtkWidget         *attach_widget,
-                                                           gint              *x,
-                                                           gint              *y);
+void                 xfce_panel_plugin_position_widget     (XfcePanelPlugin   *plugin,
+                                                            GtkWidget         *menu_widget,
+                                                            GtkWidget         *attach_widget,
+                                                            gint              *x,
+                                                            gint              *y);
 
-void                xfce_panel_plugin_position_menu       (GtkMenu           *menu,
-                                                           gint              *x,
-                                                           gint              *y,
-                                                           gboolean          *push_in,
-                                                           gpointer           panel_plugin);
+void                 xfce_panel_plugin_position_menu       (GtkMenu           *menu,
+                                                            gint              *x,
+                                                            gint              *y,
+                                                            gboolean          *push_in,
+                                                            gpointer           panel_plugin);
 
-gchar              *xfce_panel_plugin_lookup_rc_file      (XfcePanelPlugin   *plugin) G_GNUC_MALLOC G_GNUC_WARN_UNUSED_RESULT;
+gchar               *xfce_panel_plugin_lookup_rc_file      (XfcePanelPlugin   *plugin) G_GNUC_MALLOC G_GNUC_WARN_UNUSED_RESULT;
 
-gchar              *xfce_panel_plugin_save_location       (XfcePanelPlugin   *plugin,
-                                                           gboolean           create) G_GNUC_MALLOC G_GNUC_WARN_UNUSED_RESULT;
+gchar               *xfce_panel_plugin_save_location       (XfcePanelPlugin   *plugin,
+                                                            gboolean           create) G_GNUC_MALLOC G_GNUC_WARN_UNUSED_RESULT;
 
 G_END_DECLS
 



More information about the Xfce4-commits mailing list