This is an automated email from the git hooks/post-receive script.

ochosi pushed a 
commit to branch 
master
in repository xfce/xfce4-panel.

commit 4cfb1f81bfe8084ed7430817e37f32125d2417ae
Author: Ali Abdallah <a...@xfce.org>
Date:   Thu Jul 20 00:52:15 2017 +0200

    Prevent panel crash on unsupported GValues in PluginEvents
    
    A non supported gvalue that slips into PluginEvent causes the panel to 
crash,
    due to an assertion failure in the convertion between the GValue and the
    GVariant. So throw a warning instead.
    
    Example to trigger the crash
    dbus-send --session --type=method_call --print-reply \
    --dest='org.xfce.Panel' '/org/xfce/Panel' \
    'org.xfce.Panel.PluginEvent' string:whiskermenu \
    string:popup variant:byte:'a'
    
    Unless we want the conversion to handle all possible types,
    throwing just a warning instead of crashing is the good way to go.
---
 panel/panel-plugin-external-wrapper.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/panel/panel-plugin-external-wrapper.c 
b/panel/panel-plugin-external-wrapper.c
index 85e82f4..d36e5fb 100644
--- a/panel/panel-plugin-external-wrapper.c
+++ b/panel/panel-plugin-external-wrapper.c
@@ -285,6 +285,8 @@ panel_plugin_external_wrapper_gvalue_prop_to_gvariant 
(const GValue *value)
     case G_TYPE_STRING:
       type = G_VARIANT_TYPE_STRING;
       break;
+    /* only throw a warning (instead of an assertion) here as otherwise invalid
+       types sent to the panel via dbus would let the panel crash */
     default:
       g_warn_if_reached ();
     }
@@ -326,6 +328,7 @@ panel_plugin_external_wrapper_set_properties 
(PanelPluginExternal *external,
       else
         {
           g_warning ("Failed to convert wrapper property from gvalue:%s to 
gvariant", G_VALUE_TYPE_NAME(&property->value));
+          return;
         }
     }
 

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.
_______________________________________________
Xfce4-commits mailing list
Xfce4-commits@xfce.org
https://mail.xfce.org/mailman/listinfo/xfce4-commits

Reply via email to