view src/VisVim/DSAddIn.h @ 15721:e84eb23f4670 v8.1.0868

patch 8.1.0868: crash if triggering garbage collector after a function call commit https://github.com/vim/vim/commit/889da2f2438c8168f9a25dc776360b81109bad44 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Feb 2 14:02:30 2019 +0100 patch 8.1.0868: crash if triggering garbage collector after a function call Problem: Crash if triggering garbage collector after a function call. (Michael Henry) Solution: Don't call the garbage collector right away, do it later. (closes #3894)
author Bram Moolenaar <Bram@vim.org>
date Sat, 02 Feb 2019 14:15:12 +0100
parents 3fc0f57ecb91
children
line wrap: on
line source

// DSAddIn.h : header file
//

#if !defined(AFX_DSADDIN_H__AC726715_2977_11D1_B2F3_006008040780__INCLUDED_)
#define AFX_DSADDIN_H__AC726715_2977_11D1_B2F3_006008040780__INCLUDED_

#include "commands.h"

// {4F9E01C0-406B-11d2-8006-00001C405077}
DEFINE_GUID (CLSID_DSAddIn,
	0x4f9e01c0, 0x406b, 0x11d2, 0x80, 0x6, 0x0, 0x0, 0x1c, 0x40, 0x50, 0x77);

/////////////////////////////////////////////////////////////////////////////
// CDSAddIn

class CDSAddIn :
	public   IDSAddIn,
	public   CComObjectRoot,
	public   CComCoClass < CDSAddIn,
		 &CLSID_DSAddIn >
{
    public:
	DECLARE_REGISTRY (CDSAddIn, "VisVim.DSAddIn.1",
			  "VisVim Developer Studio Add-in", IDS_VISVIM_LONGNAME,
			  THREADFLAGS_BOTH)

	CDSAddIn ()
	{
	}

	BEGIN_COM_MAP (CDSAddIn)
	COM_INTERFACE_ENTRY (IDSAddIn)
	END_COM_MAP ()
	DECLARE_NOT_AGGREGATABLE (CDSAddIn)

	// IDSAddIns
    public:
	STDMETHOD (OnConnection) (THIS_ IApplication * pApp, VARIANT_BOOL bFirstTime,
				  long dwCookie, VARIANT_BOOL * OnConnection);
	STDMETHOD (OnDisconnection) (THIS_ VARIANT_BOOL bLastTime);

    protected:
	bool AddCommand (IApplication* pApp, char* MethodName, char* CmdName,
			 UINT StrResId, UINT GlyphIndex, VARIANT_BOOL bFirstTime);

    protected:
	CCommandsObj * m_pCommands;
	DWORD m_dwCookie;
};

//{{AFX_INSERT_LOCATION}}

#endif // !defined(AFX_DSADDIN_H__AC726715_2977_11D1_B2F3_006008040780__INCLUDED)