summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2015-01-01 22:56:57 +0100
committerwm4 <wm4@nowhere>2015-01-01 22:56:57 +0100
commit9aa1d711479d4892e7f3c528dd48aad91f8a63de (patch)
treeacbbbf0bb13327c228e308f41257be5dfbfb85f7
parent0e9d19cd052e8d1086f4588d8e2d6ab4c1bb4ee8 (diff)
downloadmpv-9aa1d711479d4892e7f3c528dd48aad91f8a63de.tar.bz2
mpv-9aa1d711479d4892e7f3c528dd48aad91f8a63de.tar.xz
DOCS/client_api_examples: don't throw char* in C++ code
C++ is the worst language ever, and allows throwing any type, even if it doesn't make sense. In this case, we were throwing char*, which the runtime typically treats as opaque, instead of printing it as message if such an exception was not caught.
-rw-r--r--DOCS/client_api_examples/qml/mpvrenderer.cpp10
-rw-r--r--DOCS/client_api_examples/qtexample.cpp5
2 files changed, 9 insertions, 6 deletions
diff --git a/DOCS/client_api_examples/qml/mpvrenderer.cpp b/DOCS/client_api_examples/qml/mpvrenderer.cpp
index 6d214dfba8..0f6b6ba9f9 100644
--- a/DOCS/client_api_examples/qml/mpvrenderer.cpp
+++ b/DOCS/client_api_examples/qml/mpvrenderer.cpp
@@ -1,5 +1,7 @@
#include "mpvrenderer.h"
+#include <stdexcept>
+
#include <QObject>
#include <QtGlobal>
#include <QOpenGLContext>
@@ -27,7 +29,7 @@ public:
{
int r = mpv_opengl_cb_init_gl(mpv_gl, NULL, get_proc_address, NULL);
if (r < 0)
- throw "could not initialize OpenGL";
+ throw std::runtime_error("could not initialize OpenGL");
}
virtual ~MpvRenderer()
@@ -53,13 +55,13 @@ MpvObject::MpvObject(QQuickItem * parent)
{
mpv = mpv::qt::Handle::FromRawHandle(mpv_create());
if (!mpv)
- throw "could not create mpv context";
+ throw std::runtime_error("could not create mpv context");
mpv_set_option_string(mpv, "terminal", "yes");
mpv_set_option_string(mpv, "msg-level", "all=v");
if (mpv_initialize(mpv) < 0)
- throw "could not initialize mpv context";
+ throw std::runtime_error("could not initialize mpv context");
// Make use of the MPV_SUB_API_OPENGL_CB API.
mpv::qt::set_option_variant(mpv, "vo", "opengl-cb");
@@ -72,7 +74,7 @@ MpvObject::MpvObject(QQuickItem * parent)
// doUpdate() function is run on the GUI thread.
mpv_gl = (mpv_opengl_cb_context *)mpv_get_sub_api(mpv, MPV_SUB_API_OPENGL_CB);
if (!mpv_gl)
- throw "OpenGL not compiled in";
+ throw std::runtime_error("OpenGL not compiled in");
mpv_opengl_cb_set_update_callback(mpv_gl, MpvObject::on_update, (void *)this);
connect(this, &MpvObject::onUpdate, this, &MpvObject::doUpdate,
Qt::QueuedConnection);
diff --git a/DOCS/client_api_examples/qtexample.cpp b/DOCS/client_api_examples/qtexample.cpp
index 2b8bc15533..756c206916 100644
--- a/DOCS/client_api_examples/qtexample.cpp
+++ b/DOCS/client_api_examples/qtexample.cpp
@@ -2,6 +2,7 @@
#include <clocale>
#include <sstream>
+#include <stdexcept>
#include <QtGlobal>
#include <QFileDialog>
@@ -55,7 +56,7 @@ MainWindow::MainWindow(QWidget *parent) :
mpv = mpv_create();
if (!mpv)
- throw "can't create mpv instance";
+ throw std::runtime_error("can't create mpv instance");
// Create a video child window. Force Qt to create a native window, and
// pass the window ID to the mpv wid option. Works on: X11, win32, Cocoa
@@ -94,7 +95,7 @@ MainWindow::MainWindow(QWidget *parent) :
mpv_set_wakeup_callback(mpv, wakeup, this);
if (mpv_initialize(mpv) < 0)
- throw "mpv failed to initialize";
+ throw std::runtime_error("mpv failed to initialize");
}
void MainWindow::handle_mpv_event(mpv_event *event)