]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
x86 bridge NE2000 crash fix.
authorToni Wilen <twilen@winuae.net>
Sun, 7 May 2017 12:03:20 +0000 (15:03 +0300)
committerToni Wilen <twilen@winuae.net>
Sun, 7 May 2017 12:03:20 +0000 (15:03 +0300)
qemuvga/ne2000.cpp
x86.cpp

index 406192f249595dd3470d33380c533511136754ca..3efbc348a41d4eb77880835cb8dd3767ff433d6f 100644 (file)
@@ -1332,7 +1332,7 @@ static bool ne2000_init_2(struct pci_board_state *pcibs, int romtype, const TCHA
 
 static bool ne2000_init(struct pci_board_state *pcibs, struct autoconfig_info *aci)
 {
-       return ne2000_init_2(pcibs, ROMTYPE_NE2KPCI, aci->rc->configtext);
+       return ne2000_init_2(pcibs, ROMTYPE_NE2KPCI, aci && aci->rc ? aci->rc->configtext : NULL);
 }
 
 static const struct pci_config ne2000_pci_config =
diff --git a/x86.cpp b/x86.cpp
index af99fb4c3a1ddddb979639659a0a4d8c83089b4d..f13806667cd44b8bc652b96fb78849e8ac77dba1 100644 (file)
--- a/x86.cpp
+++ b/x86.cpp
@@ -3462,7 +3462,10 @@ bool x86_bridge_init(struct autoconfig_info *aci, uae_u32 romtype, int type)
                                xb->ne2000_irq = 15;
                                break;
                        }
-                       if (xb->ne2000_isa->init(xb->ne2000_isa_board_state, NULL)) {
+                       struct romconfig *rc = get_device_romconfig(&currprefs, ROMTYPE_NE2KISA, 0);
+                       struct autoconfig_info aci = { 0 };
+                       aci.rc = rc;
+                       if (xb->ne2000_isa->init(xb->ne2000_isa_board_state, &aci)) {
                                write_log(_T("NE2000 ISA configured, IO=%3X, IRQ=%d\n"), xb->ne2000_io, xb->ne2000_irq);
                        } else {
                                xb->ne2000_isa = NULL;