mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-01-26 19:22:30 -05:00
99b263a2db
The commandline "notify" application was always attempting to load an icon path from an optional argument, even when the argument was omitted. In this case, the image icon argument would be a null pointer and the notify program would crash. This fix adds a conditional to only attempt to load the icon file if the icon_path variable is not a null pointer
33 lines
1.1 KiB
C++
33 lines
1.1 KiB
C++
/*
|
|
* Copyright (c) 2020, Andreas Kling <kling@serenityos.org>
|
|
*
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
*/
|
|
|
|
#include <LibCore/ArgsParser.h>
|
|
#include <LibGUI/Application.h>
|
|
#include <LibGUI/Notification.h>
|
|
#include <LibGfx/Bitmap.h>
|
|
|
|
int main(int argc, char** argv)
|
|
{
|
|
auto app = GUI::Application::construct(argc, argv);
|
|
|
|
Core::ArgsParser args_parser;
|
|
const char* title = nullptr;
|
|
const char* message = nullptr;
|
|
const char* icon_path = nullptr;
|
|
args_parser.add_positional_argument(title, "Title of the notification", "title");
|
|
args_parser.add_positional_argument(message, "Message to display in the notification", "message");
|
|
args_parser.add_positional_argument(icon_path, "Path of icon to display in the notification", "icon-path", Core::ArgsParser::Required::No);
|
|
args_parser.parse(argc, argv);
|
|
|
|
auto notification = GUI::Notification::construct();
|
|
notification->set_text(message);
|
|
notification->set_title(title);
|
|
if (icon_path)
|
|
notification->set_icon(Gfx::Bitmap::try_load_from_file(icon_path).release_value_but_fixme_should_propagate_errors());
|
|
notification->show();
|
|
|
|
return 0;
|
|
}
|