Commit f3563dc1 authored by Boris Dorès's avatar Boris Dorès

- fixed a segfault occuring when the preference dialog box was destroyed

parent aafd6446
This diff is collapsed.
...@@ -34,14 +34,18 @@ ...@@ -34,14 +34,18 @@
#include <ExtCtrls.hpp> #include <ExtCtrls.hpp>
#include "CSPIN.h" #include "CSPIN.h"
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
/* A TCheckListBox that automatically disposes any TObject /* A TCheckListBox that can associate an integer to each string item */
associated with the string items */ class TExtCheckListBox : public TCheckListBox
class TCleanCheckListBox : public TCheckListBox
{ {
public: public:
__fastcall TCleanCheckListBox( Classes::TComponent* AOwner ) DYNAMIC void __fastcall SetItemData(int Index, int AData) {
TCheckListBox::SetItemData ( Index , AData );
}
DYNAMIC int __fastcall GetItemData(int Index) {
return TCheckListBox::GetItemData ( Index );
}
__fastcall TExtCheckListBox( Classes::TComponent* AOwner )
: TCheckListBox( AOwner ) {}; : TCheckListBox( AOwner ) {};
virtual __fastcall ~TCleanCheckListBox();
}; };
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
/* A THintWindow with a limited width */ /* A THintWindow with a limited width */
...@@ -52,16 +56,6 @@ public: ...@@ -52,16 +56,6 @@ public:
const System::AnsiString AHint ); const System::AnsiString AHint );
}; };
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
/* Just a wrapper to embed an AnsiString into a TObject */
class TObjectString : public TObject
{
private:
AnsiString FString;
public:
__fastcall TObjectString( char * String );
AnsiString __fastcall String();
};
//---------------------------------------------------------------------------
class TPanelPref : public TPanel class TPanelPref : public TPanel
{ {
public: public:
...@@ -71,7 +65,7 @@ public: ...@@ -71,7 +65,7 @@ public:
protected: protected:
module_config_t * p_config; module_config_t * p_config;
intf_thread_t * p_intf; intf_thread_t * p_intf;
TCleanCheckListBox * __fastcall CreateCleanCheckListBox(TWinControl *Parent, TExtCheckListBox * __fastcall CreateExtCheckListBox(TWinControl *Parent,
int Left, int Width, int Top, int Height ); int Left, int Width, int Top, int Height );
TButton * __fastcall CreateButton( TWinControl *Parent, TButton * __fastcall CreateButton( TWinControl *Parent,
int Left, int Width, int Top, int Height, AnsiString Caption ); int Left, int Width, int Top, int Height, AnsiString Caption );
...@@ -89,16 +83,18 @@ protected: ...@@ -89,16 +83,18 @@ protected:
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
class TPanelPlugin : public TPanelPref class TPanelPlugin : public TPanelPref
{ {
module_t *ModuleSelected;
public: public:
__fastcall TPanelPlugin( TComponent* Owner, module_config_t *p_config, __fastcall TPanelPlugin( TComponent* Owner, module_config_t *p_config,
intf_thread_t *_p_intf, bool b_multi_plugins ); intf_thread_t *_p_intf, TStringList * ModuleNames,
bool b_multi_plugins );
bool b_multi_plugins; bool b_multi_plugins;
TCleanCheckListBox *CleanCheckListBox; TExtCheckListBox *ExtCheckListBox;
TButton *ButtonConfig; TButton *ButtonConfig;
TButton *ButtonUp; TButton *ButtonUp;
TButton *ButtonDown; TButton *ButtonDown;
TLabel *Label; TLabel *Label;
module_t *ModuleSelected; TStringList * ModuleNames;
virtual void __fastcall TPanelPlugin::SetValue ( AnsiString Values ); virtual void __fastcall TPanelPlugin::SetValue ( AnsiString Values );
virtual void __fastcall UpdateChanges(); virtual void __fastcall UpdateChanges();
void __fastcall CheckListBoxClick( TObject *Sender ); void __fastcall CheckListBoxClick( TObject *Sender );
...@@ -162,8 +158,10 @@ __published: // IDE-managed Components ...@@ -162,8 +158,10 @@ __published: // IDE-managed Components
void __fastcall FormClose( TObject *Sender, TCloseAction &Action ); void __fastcall FormClose( TObject *Sender, TCloseAction &Action );
private: // User declarations private: // User declarations
intf_thread_t *p_intf; intf_thread_t *p_intf;
TStringList * ModuleNames;
public: // User declarations public: // User declarations
__fastcall TPreferencesDlg( TComponent* Owner, intf_thread_t *_p_intf ); __fastcall TPreferencesDlg( TComponent* Owner, intf_thread_t *_p_intf );
virtual __fastcall ~TPreferencesDlg();
void __fastcall CreateConfigDialog( char *psz_module_name ); void __fastcall CreateConfigDialog( char *psz_module_name );
}; };
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment