summaryrefslogtreecommitdiff
path: root/sc/source/ui/inc/validate.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'sc/source/ui/inc/validate.hxx')
-rw-r--r--sc/source/ui/inc/validate.hxx13
1 files changed, 10 insertions, 3 deletions
diff --git a/sc/source/ui/inc/validate.hxx b/sc/source/ui/inc/validate.hxx
index 58df264167c6..350e32a612c8 100644
--- a/sc/source/ui/inc/validate.hxx
+++ b/sc/source/ui/inc/validate.hxx
@@ -30,17 +30,24 @@
#include "anyrefdg.hxx"
-struct ScRefHandlerCaller{
- virtual ~ScRefHandlerCaller(){}
+struct ScRefHandlerCaller : public virtual VclReferenceBase {
+ virtual ~ScRefHandlerCaller() override {}
};
class ScRefHandlerHelper
{
protected:
- ScRefHandlerCaller *m_pHandler;
+ VclPtr<ScRefHandlerCaller> m_pHandler;
+// workaround VS2013 issue with pointers to things that contain virtual base class
+#ifdef SAL_W32
+ #pragma pack(push, 16)
+#endif
void (ScRefHandlerCaller::*m_pSetReferenceHdl)( const ScRange& , ScDocument* );
void (ScRefHandlerCaller::*m_pSetActiveHdl)();
void (ScRefHandlerCaller::*m_pRefInputStartPreHdl)( formula::RefEdit* pEdit, formula::RefButton* pButton );
void (ScRefHandlerCaller::*m_pRefInputDonePostHdl)();
+#if defined( SAL_W32)
+ #pragma pack(pop)
+#endif
public:
typedef void (ScRefHandlerCaller::*PFUNCSETREFHDLTYPE)( const ScRange& , ScDocument* );