summaryrefslogtreecommitdiff
path: root/platform/gl/gl-main.c
diff options
context:
space:
mode:
authorTor Andersson <tor.andersson@artifex.com>2016-01-08 12:52:52 +0100
committerTor Andersson <tor.andersson@artifex.com>2016-01-08 13:00:45 +0100
commit9d349ecc6f3ea404d655a57a697f8f4ceac6d1c8 (patch)
treee3bf0ad567bc4eab6d60cd12045a9d05fd9d1290 /platform/gl/gl-main.c
parent63c8290faf4cec2c25a7ae4addde38ad2e5817f9 (diff)
downloadmupdf-9d349ecc6f3ea404d655a57a697f8f4ceac6d1c8.tar.xz
gl: Clean up mupdf objects at exit.
Makes valgrind somewhat usable (glfw and xlib still leak plenty of global objects at exit).
Diffstat (limited to 'platform/gl/gl-main.c')
-rw-r--r--platform/gl/gl-main.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/platform/gl/gl-main.c b/platform/gl/gl-main.c
index ef95246d..cfaa9431 100644
--- a/platform/gl/gl-main.c
+++ b/platform/gl/gl-main.c
@@ -808,10 +808,15 @@ static void smart_move_forward(void)
}
}
+static void quit(void)
+{
+ glfwSetWindowShouldClose(window, 1);
+}
+
static void do_app(void)
{
if (ui.key == KEY_F4 && ui.mod == GLFW_MOD_ALT)
- exit(0);
+ quit();
if (ui.down || ui.middle || ui.right || ui.key)
showinfo = 0;
@@ -821,7 +826,7 @@ static void do_app(void)
switch (ui.key)
{
case 'q':
- exit(0);
+ quit();
break;
case 'm':
if (number == 0)
@@ -1426,9 +1431,12 @@ int main(int argc, char **argv)
fz_drop_link(ctx, links);
fz_drop_page(ctx, page);
+ fz_drop_outline(ctx, outline);
fz_drop_document(ctx, doc);
fz_drop_context(ctx);
+ glfwTerminate();
+
return 0;
}