Ich benutze die neueste GTK + mit MSYS2 installiert und wenn ich zu verwenden versuchen g_application_send_notification()
es ergibt sich immer in der folgenden assert:g_object_new: behaupten von einem Aufruf von g_application_send_notification()
(Notification Project.exe:27780): GLib-GObject-CRITICAL **: g_object_new:
assertion 'G_TYPE_IS_OBJECT (object_type)' failed
Warum ich denke, es ist ein Bug - weil ich viele Code-Beispiele neben Minen (sie sind alle ganz wie Minen sowieso), von Menschen versucht, die es (von Lars Uebernickel einschließlich notifaction) bekam zu arbeiten und sie alle die gleiche klagen macht. Bestätigen, gefolgt von Absturz. Jetzt weiß ich wirklich nicht, was das bedeutet, wie es ist wahrscheinlich innerhalb gtk Interna, aber ich hoffe wirklich, einige von euch vielleicht haben Ahnung oder Erfahrung mit diesem.
- installieren (GNU coreutils) 8,25
- GIO Version 2.52.3
- mingw32/mingw-w64-i686-gtk-engine-unico 1.0.2-2 [installiert]
- mingw32/mingw -w64-i686-gtk3 3.22.16-1 [installiert]
- mingw32/mingw-w64-i686-gtkmm3 3.22.0-1 [installiert]
- mingw32/mingw-w64-i686-Gewürz-gtk 0.33- 1 [installiert]
- mingw32/mingw-W64-i686-webkitgtk3 2.4.11-4 [inst ALLED]
- mingw64/mingw-w64-x86_64-gtk-engine-unico 1.0.2-2 [installiert]
- mingw64/mingw-w64-x86_64-gtk3 3.22.16-1 [installiert]
- mingw64/mingw-w64-x86_64-gtkmm3 3.22.0-1 [installiert]
- mingw64/mingw-w64-x86_64-Gewürz-gtk 0,33-1 [installiert]
- mingw64/mingw-w64-x86_64-webkitgtk3 2.4. 11-4 [installiert]
Ein Beispiel des Codes, der gener Ates diese assert:
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include <gtk/gtk.h>
#define ICON_PATH "/path/trash_16x16.gif"
int main (int argc, char *argv[])
{
GApplication *app;
app = g_application_new ("org.one", G_APPLICATION_FLAGS_NONE);
if(!app)
{
g_print ("Error app\n");
}
else
{
if(g_application_register (app, NULL, NULL))
{
GNotification *notification;
GFile *file;
GIcon *icon;
notification = g_notification_new ("one");
g_notification_set_body (notification, "Hello world");
file = g_file_new_for_path (ICON_PATH);
icon = g_file_icon_new (file);
g_notification_set_icon (notification, G_ICON (icon));
g_application_send_notification (app, NULL, notification);
g_object_unref (icon);
g_object_unref (file);
g_object_unref (notification);
g_object_unref (app);
g_print ("yes\n");
}
else
{
g_print ("no\n");
}
}
return 0;
}
Ist das alles, was ich dieses Problem tun können, umgehen, oder vielleicht sogar lösen?
Zunächst einmal ist SO kein GTK-Bug-Tracker, also warum hier posten? Wenn Sie möchten, dass wir Sie beruhigen, sollten Sie einen MCVE veröffentlichen. –
@EugeneSh Sorry, wenn ich falsch verstehe, aber was ist MCVE? Auch nicht für Programmierprobleme. Dies ist ein Programmierproblem. – Malina
Ihre Frage wäre besser mit Ihrem Aufruf an g_application_send_notification in der Frage enthalten. Aber ich denke, es ist wahrscheinlich, dass es nicht viel ausmacht, also: Ich werde nicht –