summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd
diff options
context:
space:
mode:
Diffstat (limited to 'src/osd')
-rw-r--r--src/osd/windows/netdev_pcap.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/osd/windows/netdev_pcap.c b/src/osd/windows/netdev_pcap.c
index 92dc87b0b42..32e9e6b2f3d 100644
--- a/src/osd/windows/netdev_pcap.c
+++ b/src/osd/windows/netdev_pcap.c
@@ -10,6 +10,7 @@ static void (*pcap_close_dl)(pcap_t *) = NULL;
static int (*pcap_setfilter_dl)(pcap_t *, struct bpf_program *) = NULL;
static int (*pcap_sendpacket_dl)(pcap_t *, u_char *, int) = NULL;
static int (*pcap_set_datalink_dl)(pcap_t *, int) = NULL;
+static HMODULE handle = NULL;
#include "emu.h"
#include "osdnet.h"
@@ -73,7 +74,7 @@ int netdev_pcap::recv_dev(UINT8 **buf)
netdev_pcap::~netdev_pcap()
{
- if(m_p) pcap_close_dl(m_p);
+ if(m_p && handle) pcap_close_dl(m_p);
}
static CREATE_NETDEV(create_pcap)
@@ -82,8 +83,6 @@ static CREATE_NETDEV(create_pcap)
return dynamic_cast<netdev *>(dev);
}
-static HMODULE handle = NULL;
-
void init_pcap()
{
pcap_if_t *devs;
@@ -134,4 +133,5 @@ void deinit_pcap()
{
clear_netdev();
FreeLibrary(handle);
+ handle = NULL;
}