On May 4, 2014, at 1:38 AM, John Ralls <jra...@ceridwen.us> wrote: > > On May 3, 2014, at 9:03 PM, Mike Alexander <m...@umich.edu> wrote: > >> Something in "private-kvp" branch that was merged in a day or two ago seems >> to have broken part of the business features. If I try to pay an invoice >> for a customer I get a crash in the code that creates the payment window. >> The top of the stack is >> >> * thread #1: tid = 0x81af3a, 0x00000001111f7c32 >> libgobject-2.0.0.dylib`g_type_check_instance_cast + 38, queue = >> 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, >> address=0x100000002) >> >> frame #0: 0x00000001111f7c32 >> libgobject-2.0.0.dylib`g_type_check_instance_cast + 38 >> >> * frame #1: 0x00000001139eb92e >> libgncmod-business-gnome.dylib`gnc_payment_dialog_owner_changed(pw=0x00007fe33b2ceff0) >> + 78 at dialog-payment.c:461 >> >> frame #2: 0x00000001139ed0c6 >> libgncmod-business-gnome.dylib`new_payment_window(owner=0x00007fff52546fc0, >> book=0x00007fe33c83c6d0, invoice=0x00007fe33a13a7f0) + 2812 at >> dialog-payment.c:991 >> >> frame #3: 0x00000001139ed504 >> libgncmod-business-gnome.dylib`gnc_ui_payment_new_with_invoice(owner=0x00007fe33f26f350, >> book=0x00007fe33c83c6d0, invoice=0x00007fe33a13a7f0) + 110 at >> dialog-payment.c:1101 >> >> frame #4: 0x00000001139e0cd5 >> libgncmod-business-gnome.dylib`gnc_invoice_window_payment_cb(widget=0x0000000000000000, >> data=0x00007fe33f26f1f0) + 139 at dialog-invoice.c:1078 >> >> frame #5: 0x00000001139f4f90 >> libgncmod-business-gnome.dylib`gnc_plugin_page_invoice_cmd_pay_invoice(action=0x00007fe33a144070, >> plugin_page=0x00007fe33a9004b0) + 294 at gnc-plugin-page-invoice.c:908 >> >> I verified that f49983b fails and acad5a0 works. I tried to do a bisect to >> find the problem, but many of the intermediate commits won't build cleanly >> on my machine so I gave up. When I reverted that merge things started >> working again. Hopefully this will be easy to reproduce, but if you need >> more info let me know. > > Indeed, very easy to reproduce. > > It's failing in QOF_IS_INSTANCE because not only is GncOwner not not a > QofInstance subclass, it's not even a GObject. I'll have to think about that > for a bit.
Turned out not to be so hard after all, there's just an extra level of indirection required. Fixed in edd85fa. Regards, John Ralls _______________________________________________ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel