[vlc-devel] commit: dialog: support modal fatal errors ( Rémi Denis-Courmont )
git version control
git at videolan.org
Sat Mar 7 17:29:42 CET 2009
vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Sat Mar 7 18:09:23 2009 +0200| [cde300c7797d6e849c08fe01a6a0998794d98244] | committer: Rémi Denis-Courmont
dialog: support modal fatal errors
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=cde300c7797d6e849c08fe01a6a0998794d98244
---
include/vlc_dialog.h | 26 +++++++++++++++++++++++++-
src/interface/dialog.c | 21 +++------------------
src/libvlccore.sym | 2 +-
3 files changed, 29 insertions(+), 20 deletions(-)
diff --git a/include/vlc_dialog.h b/include/vlc_dialog.h
index 01c164a..9758243 100644
--- a/include/vlc_dialog.h
+++ b/include/vlc_dialog.h
@@ -20,6 +20,7 @@
#ifndef VLC_DIALOG_H_
#define VLC_DIALOG_H_
+# include <stdarg.h>
/**
* \file vlc_dialog.h
@@ -34,12 +35,35 @@ typedef struct dialog_fatal_t
{
const char *title;
const char *message;
+ bool modal;
} dialog_fatal_t;
-VLC_EXPORT( void, dialog_Fatal, (vlc_object_t *, const char *, const char *, ...) ) LIBVLC_FORMAT(3, 4);
+VLC_EXPORT( void, dialog_VFatal, (vlc_object_t *, bool, const char *, const char *, va_list) );
+
+static inline LIBVLC_FORMAT(3, 4)
+void dialog_Fatal (vlc_object_t *obj, const char *title, const char *fmt, ...)
+{
+ va_list ap;
+
+ va_start (ap, fmt);
+ dialog_VFatal(obj, false, title, fmt, ap);
+ va_end (ap);
+}
#define dialog_Fatal(o, t, ...) \
dialog_Fatal(VLC_OBJECT(o), t, __VA_ARGS__)
+static inline LIBVLC_FORMAT(3, 4)
+void dialog_FatalWait (vlc_object_t *obj, const char *title,
+ const char *fmt, ...){
+ va_list ap;
+
+ va_start (ap, fmt);
+ dialog_VFatal(obj, true, title, fmt, ap);
+ va_end (ap);
+}
+#define dialog_FatalWait(o, t, ...) \
+ dialog_FatalWait(VLC_OBJECT(o), t, __VA_ARGS__)
+
VLC_EXPORT( int, dialog_Register, (vlc_object_t *) );
VLC_EXPORT( int, dialog_Unregister, (vlc_object_t *) );
#define dialog_Register(o) dialog_Register(VLC_OBJECT(o))
diff --git a/src/interface/dialog.c b/src/interface/dialog.c
index 424f188..29a0466 100644
--- a/src/interface/dialog.c
+++ b/src/interface/dialog.c
@@ -92,9 +92,8 @@ static vlc_object_t *dialog_GetProvider (vlc_object_t *obj)
return provider;
}
-static
-void dialog_FatalVa (vlc_object_t *obj, const char *title,
- const char *fmt, va_list ap)
+void dialog_VFatal (vlc_object_t *obj, bool modal, const char *title,
+ const char *fmt, va_list ap)
{
char *text;
@@ -112,22 +111,8 @@ void dialog_FatalVa (vlc_object_t *obj, const char *title,
if (vasprintf (&text, fmt, ap) == -1)
return;
- dialog_fatal_t dialog = { title, text, };
+ dialog_fatal_t dialog = { title, text, modal, };
var_SetAddress (provider, "dialog-fatal", &dialog);
free (text);
vlc_object_release (provider);
}
-
-#undef dialog_Fatal
-/**
- * Notify the user of some fatal error.
- * This is a fire and forget function.
- */
-void dialog_Fatal (vlc_object_t *obj, const char *title, const char *fmt, ...)
-{
- va_list ap;
-
- va_start (ap, fmt);
- dialog_FatalVa (obj, title, fmt, ap);
- va_end (ap);
-}
diff --git a/src/libvlccore.sym b/src/libvlccore.sym
index d46ecb0..3e0edc2 100644
--- a/src/libvlccore.sym
+++ b/src/libvlccore.sym
@@ -102,9 +102,9 @@ decode_URI_duplicate
demux_PacketizerDestroy
demux_PacketizerNew
demux_vaControlHelper
-dialog_Fatal
dialog_Register
dialog_Unregister
+dialog_VFatal
encode_URI_component
EndMD5
EnsureUTF8
More information about the vlc-devel
mailing list