[pygobject] Support marshalling GI_TYPE_TAG_INTERFACE



commit efcb4b0b32c4dda06c3eeec83802fc0f302f0d27
Author: Alberto Mardegan <alberto mardegan canonical com>
Date:   Tue Mar 20 14:55:07 2012 +0400

    Support marshalling GI_TYPE_TAG_INTERFACE
    
    Marshalling of interfaces got broken with commit
    7746d2188ac4933c2c9011d84525d1e62fc18953.
    
    Also, do not abort on unsupported types, but log a critical failure and
    continue.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=668903

 gi/pygi-marshal-from-py.c |    3 ++-
 gi/pygi-marshal-to-py.c   |    3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)
---
diff --git a/gi/pygi-marshal-from-py.c b/gi/pygi-marshal-from-py.c
index 962747f..c789d1d 100644
--- a/gi/pygi-marshal-from-py.c
+++ b/gi/pygi-marshal-from-py.c
@@ -1066,9 +1066,10 @@ _pygi_arg_to_hash_pointer (const GIArgument *arg,
             return GINT_TO_POINTER(arg->v_int32);
         case GI_TYPE_TAG_UTF8:
         case GI_TYPE_TAG_FILENAME:
+        case GI_TYPE_TAG_INTERFACE:
             return arg->v_pointer;
         default:
-            g_assert_not_reached();
+            g_critical("Unsupported type %s", g_type_tag_to_string(type_tag));
             return arg->v_pointer;
     }
 }
diff --git a/gi/pygi-marshal-to-py.c b/gi/pygi-marshal-to-py.c
index ce93257..3af443d 100644
--- a/gi/pygi-marshal-to-py.c
+++ b/gi/pygi-marshal-to-py.c
@@ -521,9 +521,10 @@ _pygi_hash_pointer_to_arg (GIArgument *arg,
             break;
         case GI_TYPE_TAG_UTF8:
         case GI_TYPE_TAG_FILENAME:
+        case GI_TYPE_TAG_INTERFACE:
             break;
         default:
-            g_assert_not_reached();
+            g_critical("Unsupported type %s", g_type_tag_to_string(type_tag));
     }
 }
 



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