<html><head></head><body>Hi,<br><br>As already stated yesterday, I don't see why this specific case grants an error any more than any other function pointer passing.<br><br>In any case, this wrongly causes an error if zero is passed as deactivate callback or if NULL is an integer.<br><br><div class="gmail_quote">Le 10 juillet 2019 11:39:06 GMT+03:00, Steve Lhomme <robux4@ycbcr.xyz> a écrit :<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<pre class="k9mail"><hr> include/vlc_vout_display.h | 17 +++++++++++++++++<br> 1 file changed, 17 insertions(+)<br><br>diff --git a/include/vlc_vout_display.h b/include/vlc_vout_display.h<br>index fd4940cf6d..1cbd6b1891 100644<br>--- a/include/vlc_vout_display.h<br>+++ b/include/vlc_vout_display.h<br>@@ -215,6 +215,23 @@ typedef int (*vout_display_open_cb)(vout_display_t *vd,<br>  */<br> typedef void (*vout_display_close_cb)(vout_display_t *vd);<br> <br>+#ifndef __cplusplus<br>+#define set_callbacks_display(Activate, Deactivate) \<br>+    static_assert( _Generic( Activate, vout_display_open_cb: 1, default: 0 ) == 1, \<br>+                  "Not a display activate callback"); \<br>+    static_assert( _Generic( Deactivate, vout_display_close_cb: 1, void*: 1, default: 0 ) == 1, \<br>+                  "Not a display deactivate callback"); \<br>+    set_callbacks( Activate, Deactivate )<br>+#else /* __cplusplus */<br>+#define set_callbacks_display(Activate, Deactivate) \<br>+    static_assert( std::is_same<std::add_pointer<decltype(Activate)>::type, vout_display_open_cb>::value, \<br>+                  "Not a display activate callback"); \<br>+    static_assert( std::is_same<std::add_pointer<decltype(Deactivate)>::type, vout_display_close_cb>::value || \<br>+                   std::is_same<decltype(Deactivate),std::nullptr_t>::value, \<br>+                  "Not a display deactivate callback"); \<br>+    set_callbacks( Activate, Deactivate )<br>+#endif /* __cplusplus */<br>+<br> struct vout_display_t {<br>     struct vlc_object_t obj;<br> </pre></blockquote></div><br>-- <br>Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser ma brièveté.</body></html>