[commit] r1966 - in trunk: Paradigms/MetaGME/MetaDecorator SDK/DecoratorLib

GMESRC Repository Notifications gme-commit at list.isis.vanderbilt.edu
Thu Jul 12 12:26:19 CDT 2012


Author: ksmyth
Date: Thu Jul 12 12:26:19 2012
New Revision: 1966

Log:
Dont try to edit names or attribute names when in a library. Fixes CrashRpt a655a4c5-1484-4785-a67d-05c97927d675

Modified:
   trunk/Paradigms/MetaGME/MetaDecorator/MetaAttributePart.cpp
   trunk/Paradigms/MetaGME/MetaDecorator/MetaAttributePart.h
   trunk/SDK/DecoratorLib/ClassLabelPart.cpp

Modified: trunk/Paradigms/MetaGME/MetaDecorator/MetaAttributePart.cpp
==============================================================================
--- trunk/Paradigms/MetaGME/MetaDecorator/MetaAttributePart.cpp	Wed Jul 11 08:34:41 2012	(r1965)
+++ trunk/Paradigms/MetaGME/MetaDecorator/MetaAttributePart.cpp	Thu Jul 12 12:26:19 2012	(r1966)
@@ -40,7 +40,9 @@
 	m_strText = newString;
 	CComBSTR bstr;
 	CopyTo(newString, bstr);
-	COMTHROW(m_spActualFCO->put_Name(bstr));
+	HRESULT hr = m_spActualFCO->put_Name(bstr);
+	if (hr != E_MGA_NAME_DUPLICATE)
+		COMTHROW(hr);
 	// transaction operation end
 }
 
@@ -51,4 +53,12 @@
 	return (m_boxPos.y < boxPos.y || m_boxPos.y == boxPos.y && m_boxPos.x < boxPos.x);
 }
 
+void MetaAttributePart::InitializeEx(CComPtr<IMgaProject>& pProject, CComPtr<IMgaMetaPart>& pPart, CComPtr<IMgaFCO>& pFCO, HWND parentWnd, DecoratorSDK::PreferenceMap& preferences)
+{
+	__super::InitializeEx(pProject, pPart, pFCO, parentWnd, preferences);
+	VARIANT_BOOL isLibObject = VARIANT_TRUE;
+	pFCO->get_IsLibObject(&isLibObject);
+	m_bTextEditable = isLibObject == VARIANT_FALSE;
+}
+
 }; // namespace MetaDecor

Modified: trunk/Paradigms/MetaGME/MetaDecorator/MetaAttributePart.h
==============================================================================
--- trunk/Paradigms/MetaGME/MetaDecorator/MetaAttributePart.h	Wed Jul 11 08:34:41 2012	(r1965)
+++ trunk/Paradigms/MetaGME/MetaDecorator/MetaAttributePart.h	Thu Jul 12 12:26:19 2012	(r1966)
@@ -32,6 +32,10 @@
 					  const CString& nameStr, const CString& typeStr, const CPoint& boxPos, CComPtr<IMgaFCO>& pFCO);
 	virtual ~MetaAttributePart();
 
+
+	virtual void	InitializeEx				(CComPtr<IMgaProject>& pProject, CComPtr<IMgaMetaPart>& pPart,
+												 CComPtr<IMgaFCO>& pFCO, HWND parentWnd, DecoratorSDK::PreferenceMap& preferences);
+
 	virtual void	ExecuteOperation			(const CString& newString);
 	virtual bool	IsLesser					(const AttributePart* other);
 

Modified: trunk/SDK/DecoratorLib/ClassLabelPart.cpp
==============================================================================
--- trunk/SDK/DecoratorLib/ClassLabelPart.cpp	Wed Jul 11 08:34:41 2012	(r1965)
+++ trunk/SDK/DecoratorLib/ClassLabelPart.cpp	Thu Jul 12 12:26:19 2012	(r1966)
@@ -65,6 +65,10 @@
 
 	if (m_bIsAbstract)
 		m_iFontKey = FONT_ABSTRACT;
+
+	VARIANT_BOOL isLibObject = VARIANT_TRUE;
+	pFCO->get_IsLibObject(&isLibObject);
+	m_bTextEditable = isLibObject == VARIANT_FALSE;
 }
 
 CPoint	ClassLabelPart::GetTextPosition(CDC* pDC, Gdiplus::Graphics* gdip) const


More information about the gme-commit mailing list