X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FGUI%2Fgui_funcs.cxx;h=a839ae6f2052a4d6a4cba7ba2449fd5e9da8b257;hb=846fd2169832c8938f04386139de746a06e80d4b;hp=b566f5339eef56da226692e52ac977863271da4e;hpb=f2a30903848598039ee5d7e23c8ef97403a9f235;p=flightgear.git diff --git a/src/GUI/gui_funcs.cxx b/src/GUI/gui_funcs.cxx index b566f5339..a839ae6f2 100644 --- a/src/GUI/gui_funcs.cxx +++ b/src/GUI/gui_funcs.cxx @@ -437,7 +437,24 @@ namespace { using namespace flightgear; - class GUISnapShotOperation : + SGPath nextScreenshotPath(const std::string& screenshotDir) + { + char filename[32]; + static int count = 1; + while (count < 1000) { + snprintf(filename, 32, "fgfs-screen-%03d.png", count++); + + SGPath p(screenshotDir); + p.append(filename); + if (!p.exists()) { + return p; + } + } + + return SGPath(); + } + + class GUISnapShotOperation : public GraphicsContextOperation { public: @@ -489,19 +506,7 @@ namespace dir = globals->get_fg_home(); } - char filename[24]; - static int count = 1; - while (count < 1000) { - snprintf(filename, 24, "fgfs-screen-%03d.png", count++); - - SGPath p(dir); - p.append(filename); - if (!p.exists()) { - _path.set(p.str()); - break; - } - } - + _path = nextScreenshotPath(dir); _xsize = fgGetInt("/sim/startup/xsize"); _ysize = fgGetInt("/sim/startup/ysize");