diff options
author | rubidium <rubidium@openttd.org> | 2009-12-25 19:16:58 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2009-12-25 19:16:58 +0000 |
commit | 21a3f97a0b22ac7e4cc6849bfd05fa215efa862c (patch) | |
tree | 6182469e0852f7d341cd7f8066e792bf746a2e84 /src | |
parent | 6cf4637dac09a34ff5287e3a097e1cd17d817fc9 (diff) | |
download | openttd-21a3f97a0b22ac7e4cc6849bfd05fa215efa862c.tar.xz |
(svn r18630) -Fix [FS#3419]: when making a screenshot the name of the previous screenshot went missing in the 'successful screenshot' message
Diffstat (limited to 'src')
-rw-r--r-- | src/screenshot.cpp | 14 | ||||
-rw-r--r-- | src/screenshot.h | 1 |
2 files changed, 10 insertions, 5 deletions
diff --git a/src/screenshot.cpp b/src/screenshot.cpp index 329ed0160..5ef812695 100644 --- a/src/screenshot.cpp +++ b/src/screenshot.cpp @@ -30,7 +30,7 @@ char _screenshot_format_name[8]; uint _num_screenshot_formats; uint _cur_screenshot_format; -char _screenshot_name[128]; +static char _screenshot_name[128]; char _full_screenshot_name[MAX_PATH]; /* called by the ScreenShot proc to generate screenshot lines. */ @@ -636,15 +636,21 @@ static bool MakeWorldScreenshot() */ bool MakeScreenshot(ScreenshotType t, const char *name) { + if (t == SC_VIEWPORT) { + /* First draw the dirty parts of the screen and only then change the name + * of the screenshot. This way the screenshot will always show the name + * of the previous screenshot in the 'succesful' message instead of the + * name of the new screenshot (or an empty name). */ + UndrawMouseCursor(); + DrawDirtyBlocks(); + } + _screenshot_name[0] = '\0'; if (name != NULL) strecpy(_screenshot_name, name, lastof(_screenshot_name)); bool ret; switch (t) { case SC_VIEWPORT: - UndrawMouseCursor(); - DrawDirtyBlocks(); - /* FALL THROUGH */ case SC_RAW: ret = MakeSmallScreenshot(); break; diff --git a/src/screenshot.h b/src/screenshot.h index 2ceac4486..163362f55 100644 --- a/src/screenshot.h +++ b/src/screenshot.h @@ -29,7 +29,6 @@ bool MakeScreenshot(ScreenshotType t, const char *name); extern char _screenshot_format_name[8]; extern uint _num_screenshot_formats; extern uint _cur_screenshot_format; -extern char _screenshot_name[128]; extern char _full_screenshot_name[MAX_PATH]; #endif /* SCREENSHOT_H */ |