Use class initialization and initialization lists

This commit is contained in:
Allofich 2023-04-05 05:17:04 +09:00
parent ec451b92a1
commit 9970fbb1be
15 changed files with 149 additions and 219 deletions

View File

@ -150,14 +150,13 @@ public:
};
struct vfdentry {
uint8_t track,head,sector;
uint16_t sector_size;
uint8_t track = 0,head = 0,sector = 0;
uint16_t sector_size = 0;
uint32_t data_offset;
uint32_t entry_offset; // offset of the 12-byte entry this came from (if nonzero)
uint32_t data_offset = 0;
uint32_t entry_offset = 0; // offset of the 12-byte entry this came from (if nonzero)
vfdentry() : track(0), head(0), sector(0), sector_size(0), data_offset(0), entry_offset(0) {
}
vfdentry() {}
uint16_t getSectorSize(void) const {
return sector_size;
@ -180,14 +179,13 @@ public:
virtual ~imageDiskNFD();
struct vfdentry {
uint8_t track,head,sector;
uint16_t sector_size;
uint8_t track = 0,head = 0,sector = 0;
uint16_t sector_size = 0;
uint32_t data_offset;
uint32_t entry_offset; // offset of the 12-byte entry this came from (if nonzero)
uint32_t data_offset = 0;
uint32_t entry_offset = 0; // offset of the 12-byte entry this came from (if nonzero)
vfdentry() : track(0), head(0), sector(0), sector_size(0), data_offset(0), entry_offset(0) {
}
vfdentry() {}
uint16_t getSectorSize(void) const {
return sector_size;
@ -210,14 +208,13 @@ public:
virtual ~imageDiskVFD();
struct vfdentry {
uint8_t track,head,sector,sizebyte;
uint8_t fillbyte;
uint8_t track = 0,head = 0,sector = 0,sizebyte = 0;
uint8_t fillbyte = 0xFF;
uint32_t data_offset;
uint32_t entry_offset; // offset of the 12-byte entry this came from (if nonzero)
uint32_t data_offset = 0;
uint32_t entry_offset = 0; // offset of the 12-byte entry this came from (if nonzero)
vfdentry() : track(0), head(0), sector(0), sizebyte(0), fillbyte(0xFF), data_offset(0), entry_offset(0) {
}
vfdentry() {}
bool hasSectorData(void) const {
return fillbyte == 0xFF && data_offset != 0xFFFFFFFFUL;
@ -403,13 +400,9 @@ public:
(void)data;//UNUSED
return 0x05; /* fail, read only */
}
imageDiskElToritoFloppy(unsigned char new_CDROM_drive,unsigned long new_cdrom_sector_offset,unsigned char floppy_emu_type) : imageDisk((FILE *)NULL,NULL,0,false) {
imageDiskElToritoFloppy(unsigned char new_CDROM_drive,unsigned long new_cdrom_sector_offset,unsigned char floppy_emu_type) : imageDisk((FILE *)NULL,NULL,0,false), CDROM_drive(new_CDROM_drive), cdrom_sector_offset(new_cdrom_sector_offset), floppy_type(floppy_emu_type) {
diskimg = NULL;
sector_size = 512;
CDROM_drive = new_CDROM_drive;
cdrom_sector_offset = new_cdrom_sector_offset;
floppy_type = floppy_emu_type;
class_id = ID_EL_TORITO_FLOPPY;
if (floppy_emu_type == 1) { /* 1.2MB */

View File

@ -81,16 +81,16 @@ extern Bitu call_priv_io;
class CALLBACK_HandlerObject{
private:
bool installed;
Bitu m_callback;
enum {NONE,SETUP,SETUPAT} m_type;
bool installed = false;
Bitu m_callback = 0; // NULL
enum {NONE,SETUP,SETUPAT} m_type = NONE;
struct {
RealPt old_vector;
uint8_t interrupt;
bool installed;
} vectorhandler;
public:
CALLBACK_HandlerObject():installed(false),m_callback(0/*NULL*/),m_type(NONE) {
CALLBACK_HandlerObject() {
vectorhandler.installed=false;
}
~CALLBACK_HandlerObject();

View File

@ -14,23 +14,11 @@
class ClockDomain {
public:
ClockDomain() {
freq = 0;
freq_div = 1;
counter = 0;
}
ClockDomain(unsigned long long freq_new) {
freq = freq_new;
freq_div = 1;
counter = 0;
}
ClockDomain() : freq(0) {}
ClockDomain(unsigned long long freq_new) : freq(freq_new) {}
/* we allow non-integer frequencies as integer fractions.
* example: 33.3333333...MHz as 100,000,000Hz / 3 */
ClockDomain(unsigned long long freq_new,unsigned long long div) {
freq = freq_new;
freq_div = div;
counter = 0;
}
ClockDomain(unsigned long long freq_new,unsigned long long div) : freq(freq_new), freq_div(div) {}
public:
void set_name(const char *s) {
name = s;
@ -49,8 +37,8 @@ public:
* - Do not set clock time by floating point time (only the toplevel clocks in the tree should do that)
* - Must rebase at the same reference time as the master
* - Must maintain time according to master time divided by master's clock divider */
unsigned long long freq,freq_div; /* frequency of clock as integer ratio */
unsigned long long counter; /* in units of freq */
unsigned long long freq,freq_div = 1; /* frequency of clock as integer ratio */
unsigned long long counter = 0; /* in units of freq */
std::string name;
};

View File

@ -38,58 +38,15 @@ private:
typedef std::list<Section*>::const_iterator const_it;
typedef std::list<Section*>::const_reverse_iterator const_reverse_it;
// void (* _start_function)(void);
bool secure_mode; //Sandbox mode
bool secure_mode = false; //Sandbox mode
public:
bool initialised;
bool initialised = false;
std::vector<std::string> auto_bat_additional;
std::vector<std::string> startup_params;
std::vector<std::string> configfiles;
Config(CommandLine * cmd):cmdline(cmd),secure_mode(false) {
Config(CommandLine * cmd):cmdline(cmd) {
startup_params.emplace_back(cmdline->GetFileName());
cmdline->FillVector(startup_params);
opt_test = false;
opt_exit = false;
opt_debug = false;
opt_nolog = false;
opt_nogui = false;
opt_nomenu = false;
opt_langcp = false;
opt_prerun = false;
opt_showrt = false;
opt_silent = false;
opt_startui = false;
initialised = false;
opt_console = false;
opt_log_con = false;
opt_time_limit = -1;
opt_display2 = false;
opt_logint21 = false;
opt_userconf = false;
opt_noconfig = false;
opt_noconsole = false;
opt_logfileio = false;
opt_eraseconf = false;
opt_resetconf = false;
opt_printconf = false;
opt_promptfolder = -1;
opt_noautoexec = false;
opt_securemode = false;
opt_fastlaunch = false;
opt_fullscreen = false;
opt_showcycles = false;
opt_earlydebug = false;
opt_print_ticks = false;
opt_break_start = false;
opt_defaultconf = false;
opt_erasemapper = false;
opt_resetmapper = false;
opt_startmapper = false;
opt_fastbioslogo = false;
opt_defaultmapper = false;
opt_used_defaultdir = false;
opt_date_host_forced = false;
opt_disable_numlock_check = false;
opt_disable_dpi_awareness = false;
}
~Config();
@ -113,48 +70,48 @@ public:
std::vector<std::string> opt_c;
std::vector<std::string> opt_set;
double opt_time_limit;
signed char opt_promptfolder;
bool opt_disable_dpi_awareness;
bool opt_disable_numlock_check;
bool opt_date_host_forced;
bool opt_used_defaultdir;
bool opt_defaultmapper;
bool opt_fastbioslogo;
bool opt_print_ticks;
bool opt_break_start;
bool opt_erasemapper;
bool opt_resetmapper;
bool opt_startmapper;
bool opt_defaultconf;
bool opt_noautoexec;
bool opt_securemode;
bool opt_fullscreen;
bool opt_fastlaunch;
bool opt_showcycles;
bool opt_earlydebug;
bool opt_logfileio;
bool opt_noconsole;
bool opt_eraseconf;
bool opt_resetconf;
bool opt_printconf;
bool opt_logint21;
bool opt_display2;
bool opt_userconf;
bool opt_noconfig;
bool opt_log_con;
bool opt_console;
bool opt_startui;
bool opt_silent;
bool opt_showrt;
bool opt_nomenu;
bool opt_prerun;
bool opt_langcp;
bool opt_debug;
bool opt_nogui;
bool opt_nolog;
bool opt_exit;
bool opt_test;
double opt_time_limit = -1;
signed char opt_promptfolder = -1;
bool opt_disable_dpi_awareness = false;
bool opt_disable_numlock_check = false;
bool opt_date_host_forced = false;
bool opt_used_defaultdir = false;
bool opt_defaultmapper = false;
bool opt_fastbioslogo = false;
bool opt_print_ticks = false;
bool opt_break_start = false;
bool opt_erasemapper = false;
bool opt_resetmapper = false;
bool opt_startmapper = false;
bool opt_defaultconf = false;
bool opt_noautoexec = false;
bool opt_securemode = false;
bool opt_fullscreen = false;
bool opt_fastlaunch = false;
bool opt_showcycles = false;
bool opt_earlydebug = false;
bool opt_logfileio = false;
bool opt_noconsole = false;
bool opt_eraseconf = false;
bool opt_resetconf = false;
bool opt_printconf = false;
bool opt_logint21 = false;
bool opt_display2 = false;
bool opt_userconf = false;
bool opt_noconfig = false;
bool opt_log_con = false;
bool opt_console = false;
bool opt_startui = false;
bool opt_silent = false;
bool opt_showrt = false;
bool opt_nomenu = false;
bool opt_prerun = false;
bool opt_langcp = false;
bool opt_debug = false;
bool opt_nogui = false;
bool opt_nolog = false;
bool opt_exit = false;
bool opt_test = false;
};
#endif

View File

@ -422,7 +422,7 @@ protected:
class DOS_PSP :public MemStruct {
public:
DOS_PSP (uint16_t segment) { SetPt(segment);seg=segment;};
DOS_PSP (uint16_t segment):seg(segment) { SetPt(segment);};
void MakeNew (uint16_t mem_size);
void CopyFileTable (DOS_PSP* srcpsp,bool createchildpsp);
uint16_t FindFreeFileEntry (void);
@ -522,7 +522,7 @@ public:
class DOS_InfoBlock:public MemStruct {
public:
DOS_InfoBlock() : seg(0) {};
DOS_InfoBlock() {};
void SetLocation(uint16_t segment);
void SetFirstDPB(uint32_t _first_dpb);
void SetFirstMCB(uint16_t _firstmcb);
@ -599,7 +599,7 @@ public:
#ifdef _MSC_VER
#pragma pack ()
#endif
uint16_t seg;
uint16_t seg = 0;
};
class DOS_DTA:public MemStruct{

View File

@ -67,7 +67,7 @@ class DOS_DTA;
class DOS_File {
public:
DOS_File() :flags(0) { name = 0; attr = 0; date = 0; drive = 0; refCtr = 0; open = false; time = 0; hdrive = 0xff; newtime = false; };
DOS_File() {};
DOS_File(const DOS_File& orig);
DOS_File & operator= (const DOS_File & orig);
virtual ~DOS_File(){ delete [] name;};
@ -94,23 +94,22 @@ public:
char* name = NULL;
uint8_t drive = 0;
uint32_t flags;
bool open;
uint32_t flags = 0;
bool open = false;
uint16_t attr;
uint16_t time;
uint16_t date;
Bits refCtr;
uint16_t attr = 0;
uint16_t time = 0;
uint16_t date = 0;
Bits refCtr = 0;
bool newtime = false;
/* Some Device Specific Stuff */
private:
uint8_t hdrive;
uint8_t hdrive = 0xff;
};
class DOS_Device : public DOS_File {
public:
DOS_Device(const DOS_Device& orig):DOS_File(orig) {
devnum=orig.devnum;
DOS_Device(const DOS_Device& orig):DOS_File(orig), devnum(orig.devnum) {
open=true;
}
DOS_Device & operator= (const DOS_Device & orig) {
@ -119,7 +118,7 @@ public:
open=true;
return *this;
}
DOS_Device():DOS_File(),devnum(0){};
DOS_Device():DOS_File() {};
virtual ~DOS_Device() {};
virtual bool Read(uint8_t * data,uint16_t * size);
virtual bool Write(const uint8_t * data,uint16_t * size);
@ -132,7 +131,7 @@ public:
virtual uint8_t GetStatus(bool input_flag);
void SetDeviceNumber(Bitu num) { devnum=num;}
private:
Bitu devnum;
Bitu devnum = 0;
};
struct ExtDeviceData {
@ -144,8 +143,7 @@ struct ExtDeviceData {
class DOS_ExtDevice : public DOS_Device {
public:
DOS_ExtDevice(const DOS_ExtDevice& orig) :DOS_Device(orig) {
ext = orig.ext;
DOS_ExtDevice(const DOS_ExtDevice& orig) :DOS_Device(orig), ext(orig.ext) {
}
DOS_ExtDevice(const char* name, uint16_t seg, uint16_t off) {
SetName(name);
@ -238,7 +236,6 @@ public:
CFileInfo(void) {
orgname[0] = shortname[0] = 0;
isOverlayDir = isDir = false;
id = MAX_OPENDIRS;
nextEntry = shortNr = 0;
}
~CFileInfo(void) {
@ -250,7 +247,7 @@ public:
char shortname [DOS_NAMELENGTH_ASCII];
bool isOverlayDir;
bool isDir;
uint16_t id;
uint16_t id = MAX_OPENDIRS;
Bitu nextEntry;
Bitu shortNr;
// contents

View File

@ -349,22 +349,22 @@ private:
class RawBytes
{
public:
RawBytes() : dataExists(false), isCompressed(false) {}
RawBytes() {}
void set(const std::string& stream);
std::string get() const; //throw (Error)
void compress() const; //throw (Error)
bool dataAvailable() const;
private:
bool dataExists; //determine whether set method (even with empty string) was called
mutable bool isCompressed; //design for logical not binary const
bool dataExists = false; //determine whether set method (even with empty string) was called
mutable bool isCompressed = false; //design for logical not binary const
mutable std::string bytes; //
};
struct CompData
{
CompData(Component& cmp) : comp(cmp), rawBytes(MAX_PAGE*SLOT_COUNT) {}
CompData(Component& cmp) : comp(cmp) {}
Component& comp;
std::vector<RawBytes> rawBytes;
std::vector<RawBytes> rawBytes = std::vector<RawBytes>(MAX_PAGE * SLOT_COUNT);
};
typedef std::map<std::string, CompData> CompEntry;

View File

@ -313,7 +313,7 @@ struct FPUControlWord
{
union
{
uint16_t reg;
uint16_t reg = initValue;
RegBit<decltype(reg), 0> IM; // Invalid operation mask
RegBit<decltype(reg), 1> DM; // Denormalized operand mask
RegBit<decltype(reg), 2> ZM; // Zero divide mask
@ -341,7 +341,7 @@ struct FPUControlWord
Chop = 3
};
FPUControlWord() : reg(initValue) {}
FPUControlWord() {}
FPUControlWord(const FPUControlWord& other) = default;
FPUControlWord& operator=(const FPUControlWord& other)
{
@ -377,7 +377,7 @@ struct FPUStatusWord
{
union
{
uint16_t reg;
uint16_t reg = 0;
RegBit<decltype(reg), 0> IE; // Invalid operation
RegBit<decltype(reg), 1> DE; // Denormalized operand
RegBit<decltype(reg), 2> ZE; // Divide-by-zero
@ -395,7 +395,7 @@ struct FPUStatusWord
RegBit<decltype(reg), 15> B; // Busy flag
};
FPUStatusWord() : reg(0) {}
FPUStatusWord() {}
FPUStatusWord(const FPUStatusWord& other) = default;
FPUStatusWord& operator=(const FPUStatusWord& other)
{

View File

@ -92,10 +92,10 @@ static inline constexpr Bitu IOMASK_Combine(const Bitu a,const Bitu b) {
* The io objects will remove itself on destruction.*/
class IO_Base{
protected:
bool installed;
bool installed = false;
Bitu m_port, m_mask/*IO_MB, etc.*/, m_range/*number of ports*/;
public:
IO_Base() : installed(false), m_port(0), m_mask(0), m_range(0) {};
IO_Base() : m_port(0), m_mask(0), m_range(0) {};
};
/* NTS: To explain the Install() method, the caller not only provides the IOMASK_.. value, but ANDs
* the least significant bits to define the range of I/O ports to respond to. An ISA Sound Blaster
@ -108,18 +108,18 @@ public:
* move on to the next device or mark the I/O port as empty. */
class IO_CalloutObject: private IO_Base {
public:
IO_CalloutObject() : IO_Base(), io_mask(0xFFFFU), range_mask(0U), alias_mask(0xFFFFU), getcounter(0), m_r_handler(NULL), m_w_handler(NULL), alloc(false) {};
IO_CalloutObject() : IO_Base() {};
void InvalidateCachedHandlers(void);
void Install(Bitu port,Bitu portmask/*IOMASK_ISA_10BIT, etc.*/,IO_ReadCalloutHandler *r_handler,IO_WriteCalloutHandler *w_handler);
void Uninstall();
public:
uint16_t io_mask;
uint16_t range_mask;
uint16_t alias_mask;
unsigned int getcounter;
IO_ReadCalloutHandler *m_r_handler;
IO_WriteCalloutHandler *m_w_handler;
bool alloc;
uint16_t io_mask = 0xFFFF;
uint16_t range_mask = 0;
uint16_t alias_mask = 0xFFFF;
unsigned int getcounter = 0;
IO_ReadCalloutHandler *m_r_handler = NULL;
IO_WriteCalloutHandler *m_w_handler = NULL;
bool alloc = false;
public:
inline bool MatchPort(const uint16_t p) {
/* (p & io_mask) == (m_port & io_mask) but this also works.

View File

@ -30,16 +30,16 @@
#define MENUDEF_H
struct MENU_Block {
bool toggle; // toggle menu bar
bool startup; // verify if DOSBox is started with menu patch
bool hidecycles; // toggle cycles, fps, cpu usage information on title bar
bool showrt; // show realtime percentage
bool boot; // verify if boot is being used (if enabled, it is unable to mount drives)
bool gui; // enable or disable gui system (if disabled, it is unable to use/toggle menu bar)
bool resizeusing; // check if resizable window can be used
bool compatible; // compatible mode for win9x/2000 (if enabled, GUI system will be disabled)
bool maxwindow; // check window state
MENU_Block():toggle(false),startup(false),hidecycles(false),showrt(false),boot(false),gui(true),resizeusing(false),compatible(false),maxwindow(false){ }
bool toggle = false; // toggle menu bar
bool startup = false; // verify if DOSBox is started with menu patch
bool hidecycles = false; // toggle cycles, fps, cpu usage information on title bar
bool showrt = false; // show realtime percentage
bool boot = false; // verify if boot is being used (if enabled, it is unable to mount drives)
bool gui = true; // enable or disable gui system (if disabled, it is unable to use/toggle menu bar)
bool resizeusing = false; // check if resizable window can be used
bool compatible = false; // compatible mode for win9x/2000 (if enabled, GUI system will be disabled)
bool maxwindow = false; // check window state
MENU_Block() {}
};
extern MENU_Block menu;

View File

@ -38,23 +38,23 @@ public:
#define SYSEX_SIZE 8192
struct DB_Midi {
Bitu status;
Bitu cmd_len;
Bitu cmd_pos;
Bitu status = 0;
Bitu cmd_len = 0;
Bitu cmd_pos = 0;
uint8_t cmd_buf[8] = {};
uint8_t rt_buf[8] = {};
struct midi_state_sysex_t {
uint8_t buf[SYSEX_SIZE] = {};
Bitu used;
Bitu delay;
uint32_t start;
Bitu used = 0;
Bitu delay = 0;
uint32_t start = 0;
midi_state_sysex_t() : used(0), delay(0), start(0) { }
midi_state_sysex_t() {}
} sysex;
bool available;
MidiHandler * handler;
bool available = false;
MidiHandler * handler = NULL;
DB_Midi() : status(0x00), cmd_len(0), cmd_pos(0), available(false), handler(NULL) { }
DB_Midi() {}
};
extern DB_Midi midi;

View File

@ -124,10 +124,10 @@ void MIXER_DelChannel(MixerChannel* delchan);
* and removes itself when destroyed. */
class MixerObject{
private:
bool installed;
bool installed = false;
char m_name[32] = {};
public:
MixerObject():installed(false){};
MixerObject() {};
MixerChannel* Install(MIXER_Handler handler,Bitu freq,const char * name);
~MixerObject();
};

View File

@ -137,19 +137,19 @@ private:
* move on to the next device or mark the I/O port as empty. */
class MEM_CalloutObject {
public:
MEM_CalloutObject() : installed(false), mem_mask(0xFFFFFFFFU), range_mask(0U), alias_mask(0xFFFFFFFFU), getcounter(0), m_handler(NULL), m_base(0), alloc(false) {};
MEM_CalloutObject() {};
void InvalidateCachedHandlers(void);
void Install(Bitu page,Bitu pagemask/*MEMMASK_ISA_24BIT, etc.*/,MEM_CalloutHandler *handler);
void Uninstall();
public:
bool installed;
Bitu mem_mask;
Bitu range_mask;
Bitu alias_mask;
unsigned int getcounter;
MEM_CalloutHandler *m_handler;
Bitu m_base;
bool alloc;
bool installed = false;
Bitu mem_mask = 0xFFFFFFFF;
Bitu range_mask = 0;
Bitu alias_mask = 0xFFFFFFFF;
unsigned int getcounter = 0;
MEM_CalloutHandler *m_handler = NULL;
Bitu m_base = 0;
bool alloc = false;
public:
inline bool MatchPage(const Bitu p) {
/* (p & io_mask) == (m_port & io_mask) but this also works.
@ -502,10 +502,7 @@ public:
virtual const char *what() const throw() {
return "Guest page fault exception";
}
GuestPageFaultException(PhysPt n_lin_addr, Bitu n_page_addr, Bitu n_faultcode) {
lin_addr = n_lin_addr;
page_addr = n_page_addr;
faultcode = n_faultcode;
GuestPageFaultException(PhysPt n_lin_addr, Bitu n_page_addr, Bitu n_faultcode) : lin_addr(n_lin_addr), page_addr(n_page_addr), faultcode(n_faultcode) {
}
public:
PhysPt lin_addr;

View File

@ -106,7 +106,7 @@ public:
const std::string propname;
std::vector<Value> suggested_values;
Property(std::string const& _propname, Changeable::Value when):propname(_propname),is_modified(false),change(when) { use_global_config_str=false; }
Property(std::string const& _propname, Changeable::Value when):propname(_propname),change(when) {}
void Set_values(const char * const * in);
void Set_help(std::string const& in);
char const* Get_help();
@ -150,11 +150,11 @@ protected:
}
Value value;
bool is_basic=false;
bool is_modified;
bool is_modified = false;
typedef std::vector<Value>::const_iterator const_iter;
Value default_value;
const Changeable::Value change;
bool use_global_config_str;
bool use_global_config_str = false;
std::string help_string;
};
@ -253,9 +253,7 @@ struct Function_wrapper {
SectionFunction function;
bool canchange;
std::string name;
Function_wrapper(SectionFunction const _fun,bool _ch,const char *_name) {
function=_fun;
canchange=_ch;
Function_wrapper(SectionFunction const _fun,bool _ch,const char *_name) : function(_fun), canchange(_ch) {
if (_name != NULL) name = _name;
}
};
@ -319,7 +317,7 @@ enum vm_event {
class VMDispatchState {
public:
VMDispatchState() : current_event(VM_EVENT_MAX), event_in_progress(false) { }
VMDispatchState() {}
void begin_event(enum vm_event event) {
event_in_progress = true;
current_event = event;
@ -328,8 +326,8 @@ public:
event_in_progress = false;
}
public:
enum vm_event current_event;
bool event_in_progress;
enum vm_event current_event = VM_EVENT_MAX;
bool event_in_progress = false;
};
extern VMDispatchState vm_dispatch_state;
@ -382,11 +380,11 @@ public:
class Prop_multival:public Property{
protected:
Section_prop* section;
Section_prop* section = new Section_prop("");
std::string separator;
void make_default_value();
public:
Prop_multival(std::string const& _propname, Changeable::Value when,std::string const& sep):Property(_propname,when), section(new Section_prop("")),separator(sep) {
Prop_multival(std::string const& _propname, Changeable::Value when,std::string const& sep):Property(_propname,when),separator(sep) {
default_value = value = "";
}
Section_prop *GetSection() { return section; }
@ -421,7 +419,7 @@ class Module_base {
protected:
Section* m_configuration;
public:
Module_base(Section* configuration){m_configuration=configuration;};
Module_base(Section* configuration) : m_configuration(configuration) {};
// Module_base(Section* configuration, SaveState* state) {};
virtual ~Module_base(){/*LOG_MSG("executed")*/;};//Destructors are required
/* Returns true if succesful.*/

View File

@ -376,10 +376,10 @@ struct SHELL_Cmd {
* as well if the line set a a variable */
class AutoexecObject{
private:
bool installed;
bool installed = false;
std::string buf;
public:
AutoexecObject():installed(false){ };
AutoexecObject() {};
void Install(std::string const &in);
void InstallBefore(std::string const &in);
void Uninstall();