[kmymoney4] [Bug 321649] No input form dialog appears when i try to add a new account in aqbanking
Ralf Habacker
bugzilla_noreply at kde.org
Tue May 23 14:25:03 UTC 2017
https://bugs.kde.org/show_bug.cgi?id=321649
Ralf Habacker <ralf.habacker at freenet.de> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |ralf.habacker at freenet.de
--- Comment #7 from Ralf Habacker <ralf.habacker at freenet.de> ---
Same issue here with 4.8.0 on Linux and Windows.
backtrace is
#0 AB_SetupDialog_AddAccount (dlg=dlg at entry=0x5e63c60) at dlg_setup.c:894
#1 0x62e4a3b5 in AB_SetupDialog_HandleActivated (dlg=0x5e63c60,
sender=0x9ad56d0 "addAccountButton") at dlg_setup.c:1061
#2 0x62d8edc3 in GWEN_Dialog_EmitSignal (dlg=0x5e63c60,
t=GWEN_DialogEvent_TypeActivated, sender=0x9ad56d0 "addAccountButton") at
dialog.c:
#3 0x6f18180e in QT4_DialogBox::slotActivated (this=0x9ad4bf0) at
qt4dialogbox.cpp:117
Tracing the dialog creation in
int AB_SetupDialog_AddAccount(GWEN_DIALOG *dlg) {
AB_SETUP_DIALOG *xdlg;
AB_PROVIDER *pro;
const char *s;
const char *initialProvider=NULL;
uint32_t flags;
assert(dlg);
xdlg=GWEN_INHERIT_GETDATA(GWEN_DIALOG, AB_SETUP_DIALOG, dlg);
assert(xdlg);
s=GWEN_I18N_GetCurrentLocale();
if (s && *s) {
if (strstr(s, "de_"))
initialProvider="aqhbci";
else
initialProvider="aqofxconnect";
}
pro=AB_SelectBackend(xdlg->banking,
initialProvider,
I18N("Please select the online banking backend the new "
"account is to be created for."));
if (pro==NULL) {
DBG_ERROR(0, "No provider selected.");
return GWEN_DialogEvent_ResultHandled;
}
gives
(gdb) p *pro
$9 = {INHERIT__list = 0x5de1968, _list1_element = 0x5de2450, banking =
0x53db618, name = 0x5dc99b8 "AQHBCI", escName = 0x5dc9aa0 "aqhbci",
initFn = 0x705e0b30 <AH_Provider_Init>, finiFn = 0x705e09d0
<AH_Provider_Fini>, updateJobFn = 0x705e0730 <AH_Provider_UpdateJob>, addJobFn
executeFn = 0x705de680 <AH_Provider_Execute>, resetQueueFn = 0x705e1650
<AH_Provider_ResetQueue>, extendUserFn = 0x705de660 <AH_Provider_E
extendAccountFn = 0x705de640 <AH_Provider_ExtendAccount>, updateFn =
0x705e11c0 <AH_Provider_Update>, getNewUserDialogFn = 0x705de080 <AH_
getEditUserDialogFn = 0x705ddef0 <AH_Provider_GetEditUserDialog>,
getNewAccountDialogFn = 0x0, getEditAccountDialogFn = 0x705e0f80
<AH_Provider_GetEditAccountDialog>, getUserTypeDialogFn = 0x705e10b0
<AH_Provider_GetUserTypeDialog>, plugin = 0x0, usage = 1, flags = 27, isInit =
1}
flags=AB_Provider_GetFlags(pro);
if (flags & AB_PROVIDER_FLAGS_HAS_EDITACCOUNT_DIALOG) {
here value 27 & 8 --> true
GWEN_DIALOG *dlg2;
int rv;
dlg2=AB_Provider_GetNewAccountDialog(pro);
-> dlg2 is zero because getNewAccountDialogFn is zero as shown in 'p *pro'
above
if (dlg2==NULL) {
DBG_ERROR(AQBANKING_LOGDOMAIN, "Could not create dialog");
--> this message has been printed
return GWEN_DialogEvent_ResultHandled;
}
rv=GWEN_Gui_ExecDialog(dlg2, 0);
if (rv==0) {
/* rejected */
GWEN_Dialog_free(dlg2);
return GWEN_DialogEvent_ResultHandled;
}
It looks to be a mismatch to check AB_PROVIDER_FLAGS_HAS_EDITACCOUNT_DIALOG and
then to use the address of GetNewAccountDialog().
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the KMyMoney-devel
mailing list