diff options
author | Tor Andersson <tor.andersson@artifex.com> | 2016-01-08 12:52:52 +0100 |
---|---|---|
committer | Tor Andersson <tor.andersson@artifex.com> | 2016-01-08 13:00:45 +0100 |
commit | 9d349ecc6f3ea404d655a57a697f8f4ceac6d1c8 (patch) | |
tree | e3bf0ad567bc4eab6d60cd12045a9d05fd9d1290 | |
parent | 63c8290faf4cec2c25a7ae4addde38ad2e5817f9 (diff) | |
download | mupdf-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).
-rw-r--r-- | platform/gl/gl-main.c | 12 |
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; } |