Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Informationen des ausgewählten Users.
#16
Hallo,
ich habe nun folgende Methode. Das Problem mit dieser ist, dass es entweder direkt abstürzt, oder beim zweiten Mal absütrzt. Mit abstürzen meine ich, dass Pidgin nicht mehr reagiert und geschlossen werden muss. Ich habe mal versucht mit VisualStudio da etwas zu debuggen. Ergebnis: Access violation. Kannst du soetwas ermitteln? Ich habe dann mal die free´s eingebaut, um zu ermitteln ob es deswegen nicht klappt. Aber die Meldung kam trotzdem. Wenn du den kompletten Code brauchst, sag einfach Bescheid, ist aber eh nicht viel mehr Big Grin
(Hier auch mal ein Pastebin-Link, falls es zu unordentlich ist. )
Hier der Code:
[c]static void call_user(PurpleBlistNode *node) {

PurpleAccount *acc = NULL;
PurpleConnection *gc = NULL;
PurplePlugin *prpl = NULL;
PurplePluginProtocolInfo *prpl_info = NULL;
PurpleNotifyUiOps *ops;

purple_debug_warning("plugin-call-a-buddy", "Variablen wurden initialisiert.\n");

const char *name = NULL;

PurpleBuddy *buddy = (PurpleBuddy*) node;
acc = purple_buddy_get_account(buddy);

purple_debug_warning("plugin-call-a-buddy", "Node Konvertiert und Acc geholt.\n");

gc = acc->gc;
purple_debug_warning("plugin-call-a-buddy", "GC wird geholt.\n");
if(!gc) {
return;
}

prpl = purple_connection_get_prpl(gc);
purple_debug_warning("plugin-call-a-buddy", "Hole Protocol.\n");

if(!prpl) {
return;
}

prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(prpl);
purple_debug_warning("plugin-call-a-buddy", "Plugin_Protocol_INFO wird geholt. \n");
if(!prpl_info || !prpl_info->get_info) {
return;
}

prpl_info->get_info(gc, name);
purple_debug_warning("plugin-call-a-buddy", "Entsprechende Infos werden ermittelt \n");

ops = purple_notify_get_ui_ops();
purple_debug_warning("plugin-call-a-buddy", "Notify_Get_UI_Ops \n");

notify_userinfo_ori = ops->notify_userinfo;
purple_debug_warning("plugin-call-a-buddy", (char*)notify_userinfo_ori);

ops->notify_userinfo = birthday_reminder_notify_userinfo;
purple_debug_warning("plugin-call-a-buddy", "Birthday_Reminder_Notify_Userinfo \n");

if(!PURPLE_BLIST_NODE_IS_BUDDY(node)) {
purple_debug_fatal("plugin-call-a-buddy", "Es wird versucht einen Nicht-User anzurufen.\n");
return;
}
test();

// const char *userInfo;

free(acc);
free(gc);
free(prpl);
free(prpl_info);
free(ops);
free(buddy);

// PurpleBuddy *buddy = (PurpleBuddy*) node;
// PurpleAccount *p = purple_buddy_get_account(buddy);

// const char *name = purple_buddy_get_name(buddy);

}[/c]
Zitieren


Nachrichten in diesem Thema
RE: Informationen des ausgewählten Users. - von jamesv1994 - 24.09.2013, 16:18

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste