Merge pull request #130 from atom/linux-notification
Guard against outside input in Linux notifications
This commit is contained in:
commit
545c62994f
1 changed files with 11 additions and 5 deletions
|
@ -13,6 +13,7 @@
|
|||
#include "content/public/common/platform_notification_data.h"
|
||||
#include "common/application_info.h"
|
||||
#include "dbus/dbus.h"
|
||||
#include "third_party/skia/include/core/SkBitmap.h"
|
||||
|
||||
namespace brightray {
|
||||
|
||||
|
@ -111,11 +112,12 @@ void NotificationPresenterLinux::ShowNotification(
|
|||
notification, "default", "View", OnNotificationViewThunk, this, nullptr);
|
||||
}
|
||||
|
||||
GdkPixbuf* pixbuf = libgtk2ui::GdkPixbufFromSkBitmap(icon);
|
||||
|
||||
notify_notification_set_image_from_pixbuf(notification, pixbuf);
|
||||
notify_notification_set_timeout(notification, NOTIFY_EXPIRES_DEFAULT);
|
||||
g_object_unref(pixbuf);
|
||||
if (!icon.drawsNothing()) {
|
||||
GdkPixbuf* pixbuf = libgtk2ui::GdkPixbufFromSkBitmap(icon);
|
||||
notify_notification_set_image_from_pixbuf(notification, pixbuf);
|
||||
notify_notification_set_timeout(notification, NOTIFY_EXPIRES_DEFAULT);
|
||||
g_object_unref(pixbuf);
|
||||
}
|
||||
|
||||
GError* error = nullptr;
|
||||
notify_notification_show(notification, &error);
|
||||
|
@ -151,12 +153,16 @@ void NotificationPresenterLinux::DeleteNotification(NotifyNotification* notifica
|
|||
}
|
||||
|
||||
void NotificationPresenterLinux::OnNotificationClosed(NotifyNotification* notification) {
|
||||
if (!notification)
|
||||
return;
|
||||
GetDelegateFromNotification(notification)->NotificationClosed();
|
||||
DeleteNotification(notification);
|
||||
}
|
||||
|
||||
void NotificationPresenterLinux::OnNotificationView(
|
||||
NotifyNotification* notification, char* action) {
|
||||
if (!notification)
|
||||
return;
|
||||
GetDelegateFromNotification(notification)->NotificationClick();
|
||||
DeleteNotification(notification);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue