From fcafc3a5bbc03d127e703daddd8f4aadf74c7835 Mon Sep 17 00:00:00 2001 From: Philippe Saint-Pierre Date: Sun, 16 Aug 2009 00:51:05 +0000 Subject: [PATCH] Screenshot command line arguments : * make Screenshot exit gracefully if no argument is given in combination of -d parameter * honor the delay parameter when also used with the --silent parameter git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32431 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/apps/screenshot/Screenshot.cpp | 10 ++++++++-- src/apps/screenshot/ScreenshotWindow.cpp | 2 ++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/apps/screenshot/Screenshot.cpp b/src/apps/screenshot/Screenshot.cpp index f5aa25609d..d0b020f6c7 100644 --- a/src/apps/screenshot/Screenshot.cpp +++ b/src/apps/screenshot/Screenshot.cpp @@ -91,11 +91,17 @@ Screenshot::ArgvReceived(int32 argc, char** argv) else if (strcmp(argv[i], "-d") == 0 || strncmp(argv[i], "--delay", 7) == 0 || strncmp(argv[i], "--delay=", 8) == 0) { - int32 seconds = atoi(argv[i + 1]); - if (seconds > 0) { + int32 seconds = -1; + if (argc > i + 1) + seconds = atoi(argv[i + 1]); + if (seconds >= 0) { delay = seconds * 1000000; i++; } + else { + printf("Screenshot: option requires an argument -- %s\n", argv[i]); + exit(0); + } } } fArgvReceived = true; diff --git a/src/apps/screenshot/ScreenshotWindow.cpp b/src/apps/screenshot/ScreenshotWindow.cpp index 0022e295e4..b2ff30662c 100644 --- a/src/apps/screenshot/ScreenshotWindow.cpp +++ b/src/apps/screenshot/ScreenshotWindow.cpp @@ -638,6 +638,8 @@ ScreenshotWindow::_TakeScreenshot() { if (fDelayControl) snooze((atoi(fDelayControl->Text()) * 1000000) + 50000); + else if (fDelay > 0) + snooze(fDelay); BRect frame; delete fScreenshot;