From 804ce8b70363aca50f99587bee75ece2e2b86d77 Mon Sep 17 00:00:00 2001 From: Philip Withnall Date: Sat, 8 Jun 2019 00:24:37 +0100 Subject: [PATCH] glib-genmarshal: Avoid a string copy for static string valist arguments When building a valist marshaller, we can avoid a string copy if the argument is known to always be static. The marshaller we ship in `gmarshal.c` got this right, but marshallers generated by glib-genmarshal were missing the optimisation. Fix that. Backported version of !904 does not include the unit test. The version of this on `master` includes a unit test. Signed-off-by: Philip Withnall Fixes: #1792 --- gobject/glib-genmarshal.in | 1 + 1 file changed, 1 insertion(+) diff --git a/gobject/glib-genmarshal.in b/gobject/glib-genmarshal.in index f17e05532..1ea2ad9e8 100755 --- a/gobject/glib-genmarshal.in +++ b/gobject/glib-genmarshal.in @@ -330,6 +330,7 @@ IN_ARGS = { 'ctype': 'gpointer', 'getter': 'g_marshal_value_peek_string', 'box': ['g_strdup', 'g_free'], + 'static-check': True, }, 'PARAM': { 'signal': 'PARAM',