Index: src/wp/ap/xp/ap_EditMethods.cpp
===================================================================
RCS file: /cvsroot/abi/src/wp/ap/xp/ap_EditMethods.cpp,v
retrieving revision 1.348
diff -u -r1.348 ap_EditMethods.cpp
--- src/wp/ap/xp/ap_EditMethods.cpp	2001/06/13 21:23:45	1.348
+++ src/wp/ap/xp/ap_EditMethods.cpp	2001/06/18 06:10:30
@@ -906,13 +906,19 @@
 
 Defun1(toggleAutoSpell)
 {
-        XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pAV_View->getParentData());
+	XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pAV_View->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 
 	XAP_App * pApp = pFrame->getApp();
 	UT_ASSERT(pApp);
+	if (!pApp)
+		return false;
 	XAP_Prefs * pPrefs = pApp->getPrefs();
 	UT_ASSERT(pPrefs);
+	if (!pPrefs)
+		return false;
 
 	XAP_PrefsScheme *pPrefsScheme = pPrefs->getCurrentScheme();
 	UT_ASSERT(pPrefsScheme);
@@ -1011,8 +1017,12 @@
 {
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pAV_View->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 	XAP_App * pApp = pFrame->getApp();
 	UT_ASSERT(pApp);
+	if (!pApp)
+		return false;
 
 	XAP_Frame * pNewFrame = pApp->newFrame();
 
@@ -1148,6 +1158,8 @@
 	XAP_Dialog_FileOpenSaveAs * pDialog
 		= (XAP_Dialog_FileOpenSaveAs *)(pDialogFactory->requestDialog(id));
 	UT_ASSERT(pDialog);
+	if (!pDialog)
+		return false;
 
 	if (pSuggestedName && *pSuggestedName)
 	{
@@ -1514,6 +1526,8 @@
 {
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pAV_View->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 
 	char * pNewFile = NULL;
 	IEFileType ieft = IEFT_Bogus;
@@ -1602,6 +1616,8 @@
 {
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pAV_View->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 
 	char * pNewFile = NULL;
 	IEFileType ieft = IEFT_Bogus;
@@ -1622,6 +1638,8 @@
 {
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pAV_View->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 
 	// can only save without prompting if filename already known
 	if (!pFrame->getFilename())
@@ -1657,6 +1675,8 @@
 {
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pAV_View->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 
 	IEFileType ieft = IEFT_Bogus;
 	char * pNewFile = NULL;
@@ -1707,6 +1727,8 @@
 {
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pAV_View->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 
 	char * pNewFile = NULL;
 	IEFileType ieft = IEFT_Bogus;
@@ -1822,6 +1844,8 @@
 {
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pAV_View->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 
 	return (pFrame->cloneFrame() ? true : false);
 }
@@ -1830,10 +1854,16 @@
 {
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pAV_View->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 	XAP_App * pApp = pFrame->getApp();
 	UT_ASSERT(pApp);
+	if (!pApp)
+		return false;
 	XAP_Prefs * pPrefs = pApp->getPrefs();
 	UT_ASSERT(pPrefs);
+	if (!pPrefs)
+		return false;
 
 	UT_ASSERT(ndx > 0);
 	UT_ASSERT(ndx <= pPrefs->getRecentCount());
@@ -1896,8 +1926,12 @@
 {
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pAV_View->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 	XAP_App * pApp = pFrame->getApp();
 	UT_ASSERT(pApp);
+	if (!pApp)
+		return false;
 
 	UT_ASSERT(ndx > 0);
 	UT_ASSERT(ndx <= pApp->getFrameCount());
@@ -1960,6 +1994,8 @@
 	XAP_Dialog_WindowMore * pDialog
 		= (XAP_Dialog_WindowMore *)(pDialogFactory->requestDialog(id));
 	UT_ASSERT(pDialog);
+	if (!pDialog)
+		return false;
 
 	// run the dialog
 	pDialog->runModal(pFrame);
@@ -1983,6 +2019,8 @@
 {
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pAV_View->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 
 	s_doMoreWindowsDlg(pFrame, XAP_DIALOG_ID_WINDOWMORE);
 	return true;
@@ -2000,6 +2038,8 @@
 	XAP_Dialog_About * pDialog
 		= (XAP_Dialog_About *)(pDialogFactory->requestDialog(id));
 	UT_ASSERT(pDialog);
+	if (!pDialog)
+		return false;
 
 	// run the dialog (it should really be modeless if anyone
 	// gets the urge to make it safe that way)
@@ -2032,6 +2072,8 @@
 	AP_Dialog_ToggleCase * pDialog
 		= (AP_Dialog_ToggleCase *)(pDialogFactory->requestDialog(id));
 	UT_ASSERT(pDialog);
+	if (!pDialog)
+		return false;
 
 	// run the dialog (it should really be modeless if anyone
 	// gets the urge to make it safe that way)
@@ -2050,6 +2092,8 @@
 {
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pAV_View->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 
 	return s_doToggleCase(pFrame, static_cast<FV_View *>(pAV_View), AP_DIALOG_ID_TOGGLECASE);
 }
@@ -2058,6 +2102,8 @@
 {
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pAV_View->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 
 	s_doAboutDlg(pFrame, XAP_DIALOG_ID_ABOUT);
 
@@ -2070,9 +2116,13 @@
 
 	XAP_Frame * pFrame = static_cast<XAP_Frame *>(pView->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 
 	XAP_App * pApp = pFrame->getApp();
 	UT_ASSERT(pApp);
+	if (!pApp)
+		return false;
 
 	pFrame->raise();
 
@@ -2082,6 +2132,8 @@
 	AP_Dialog_New * pDialog
 		= (AP_Dialog_New *)(pDialogFactory->requestDialog(AP_DIALOG_ID_FILE_NEW));
 	UT_ASSERT(pDialog);
+	if (!pDialog)
+		return false;
 
 	pDialog->runModal(pFrame);
 	bool bOK = (pDialog->getAnswer() == AP_Dialog_New::a_OK);
@@ -2144,6 +2196,9 @@
 {
  	XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pAV_View->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
+
 	pFrame->openURL(helpURL);
 	return true;
 }
@@ -2152,10 +2207,16 @@
 {
  	XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pAV_View->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 	XAP_App * pApp = pFrame->getApp();
 	UT_ASSERT(pApp);
+	if (!pApp)
+		return false;
 	XAP_Prefs * pPrefs = pApp->getPrefs();
 	UT_ASSERT(pPrefs);
+	if (!pPrefs)
+		return false;
 
 	const char * abiSuiteLibDir = pApp->getAbiSuiteLibDir();
 	const XML_Char * abiSuiteLocString = NULL;
@@ -2219,8 +2280,12 @@
 {
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pAV_View->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 	XAP_App * pApp = pFrame->getApp();
 	UT_ASSERT(pApp);
+	if (!pApp)
+		return false;
 
 	UT_sint32 ndx = pApp->findFrame(pFrame);
 	UT_ASSERT(ndx >= 0);
@@ -2242,8 +2307,12 @@
 {
     XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pAV_View->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 	XAP_App * pApp = pFrame->getApp();
 	UT_ASSERT(pApp);
+	if (!pApp)
+		return false;
 
 	UT_sint32 ndx = pApp->findFrame(pFrame);
 	UT_ASSERT(ndx >= 0);
@@ -2267,8 +2336,12 @@
 {
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pAV_View->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 	XAP_App * pApp = pFrame->getApp();
 	UT_ASSERT(pApp);
+	if (!pApp)
+		return false;
 
 	if(pFrame == pApp->getLastFocussedFrame())
 	{
@@ -2349,9 +2422,12 @@
 {
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pAV_View->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 	XAP_App * pApp = pFrame->getApp();
 	UT_ASSERT(pApp);
-
+	if (!pApp)
+		return false;
 
 	if (1 < pApp->getFrameCount())
 	{
@@ -2414,9 +2490,13 @@
 
 	XAP_Frame * pFrame = static_cast<XAP_Frame *>(pView->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 
 	XAP_App * pApp = pFrame->getApp();
 	UT_ASSERT(pApp);
+	if (!pApp)
+		return false;
 
 	pFrame->raise();
 
@@ -2426,6 +2506,8 @@
 	XAP_Dialog_ClipArt * pDialog
 		= (XAP_Dialog_ClipArt *)(pDialogFactory->requestDialog(XAP_DIALOG_ID_CLIPART));
 	UT_ASSERT(pDialog);
+	if (!pDialog)
+		return false;
 
 	// set the initial directory
 	UT_String dir = pApp->getAbiSuiteLibDir ();
@@ -2486,6 +2568,8 @@
 {
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pAV_View->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 
 	char* pNewFile = NULL;
 
@@ -2732,6 +2816,8 @@
 	ABIWORD_VIEW;
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> (pView->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 
 	UT_sint32 xPos, yPos;
 	EV_EditMouseContext emc = pView->getInsertionPointContext(&xPos,&yPos);
@@ -2748,6 +2834,8 @@
 	ABIWORD_VIEW;
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> (pView->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 
 	// move the IP so actions have the right context
 	if (!pView->isXYSelected(pCallData->m_xPos, pCallData->m_yPos))
@@ -2766,6 +2854,8 @@
 	ABIWORD_VIEW;
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> (pView->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 
 	// move the IP so actions have the right context
 	EX(warpInsPtToXY);
@@ -3742,6 +3832,8 @@
 {
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pView->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 	
 	pFrame->raise();
 	
@@ -3751,6 +3843,8 @@
 	AP_Dialog_Goto * pDialog
 		= (AP_Dialog_Goto *)(pDialogFactory->requestDialog(id));
 	UT_ASSERT(pDialog);
+	if (!pDialog)
+		return false;
 
 	pDialog->runModeless(pFrame);
 	
@@ -3786,6 +3880,8 @@
 {
    XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pView->getParentData());
    UT_ASSERT(pFrame);
+   if (!pFrame)
+	   return false;
 	
    pFrame->raise();
 	
@@ -3795,6 +3891,8 @@
    AP_Dialog_Spell * pDialog
      = (AP_Dialog_Spell *)(pDialogFactory->requestDialog(id));
    UT_ASSERT(pDialog);
+   if (!pDialog)
+	   return false;
 	
    // run the dialog (it probably should be modeless if anyone
    // gets the urge to make it safe that way)
@@ -3824,6 +3922,8 @@
 {
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pView->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 
 	pFrame->raise();
 
@@ -3833,6 +3933,8 @@
 	AP_Dialog_Replace * pDialog
 		= (AP_Dialog_Replace *)(pDialogFactory->requestDialog(id));
 	UT_ASSERT(pDialog);
+	if (!pDialog)
+		return false;
 
 	// prime the dialog with a "find" string if there's a
 	// current selection.
@@ -3890,6 +3992,8 @@
 {
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pView->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 
 	pFrame->raise();
 
@@ -3901,6 +4005,8 @@
 	XAP_Dialog_Language * pDialog
 		= (XAP_Dialog_Language *)(pDialogFactory->requestDialog(id));
 	UT_ASSERT(pDialog);
+	if (!pDialog)
+		return false;
 
 	const XML_Char ** props_in = NULL;
 	if (pView->getCharFormat(&props_in))
@@ -3950,6 +4056,8 @@
 {
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pView->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 
 	pFrame->raise();
 
@@ -3961,6 +4069,8 @@
 	XAP_Dialog_FontChooser * pDialog
 		= (XAP_Dialog_FontChooser *)(pDialogFactory->requestDialog(id));
 	UT_ASSERT(pDialog);
+	if (!pDialog)
+		return false;
 
 	// stuff the GR_Graphics into the dialog so that it
 	// can query the system for font info relative to our
@@ -4170,6 +4280,8 @@
 
 	XAP_Frame * pFrame = (XAP_Frame *) pView->getParentData();
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 
 	pFrame->raise();
 
@@ -4214,6 +4326,8 @@
 {
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pView->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 
 	pFrame->raise();
 
@@ -4223,6 +4337,8 @@
 	AP_Dialog_Paragraph * pDialog
 		= (AP_Dialog_Paragraph *)(pDialogFactory->requestDialog(AP_DIALOG_ID_PARAGRAPH));
 	UT_ASSERT(pDialog);
+	if (!pDialog)
+		return false;
 
 	const XML_Char ** props = NULL;
 
@@ -4303,6 +4419,8 @@
 {
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pView->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 
 	pFrame->raise();
 
@@ -4312,6 +4430,8 @@
 	AP_Dialog_Options * pDialog
 		= (AP_Dialog_Options *)(pDialogFactory->requestDialog(AP_DIALOG_ID_OPTIONS));
 	UT_ASSERT(pDialog);
+	if (!pDialog)
+		return false;
 
 	// run the dialog
 	pDialog->runModal(pFrame);
@@ -4559,6 +4679,8 @@
 {
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pView->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 
 	pFrame->raise();
 
@@ -4568,6 +4690,8 @@
 	XAP_Dialog_Print * pDialog
 		= (XAP_Dialog_Print *)(pDialogFactory->requestDialog(bPrintDirectly? XAP_DIALOG_ID_PRINT_DIRECTLY: XAP_DIALOG_ID_PRINT));
 	UT_ASSERT(pDialog);
+	if (!pDialog)
+		return false;
 
 	FL_DocLayout* pLayout = pView->getLayout();
 	PD_Document * doc = pLayout->getDocument();
@@ -4633,6 +4757,8 @@
 {
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pView->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 
 	pFrame->raise();
 
@@ -4642,6 +4768,8 @@
 	XAP_Dialog_PrintPreview * pDialog
 		= (XAP_Dialog_PrintPreview *)(pDialogFactory->requestDialog(XAP_DIALOG_ID_PRINTPREVIEW));
 	UT_ASSERT(pDialog);
+	if (!pDialog)
+		return false;
 
 	FL_DocLayout* pLayout = pView->getLayout();
 	PD_Document * doc = pLayout->getDocument();
@@ -4694,6 +4822,8 @@
 {
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pView->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 
 	pFrame->raise();
 
@@ -4703,6 +4833,8 @@
 	XAP_Dialog_Zoom * pDialog
 		= (XAP_Dialog_Zoom *)(pDialogFactory->requestDialog(XAP_DIALOG_ID_ZOOM));
 	UT_ASSERT(pDialog);
+	if (!pDialog)
+		return false;
 
 	pDialog->setZoomPercent(pFrame->getZoomPercentage());
 	pDialog->setZoomType(pFrame->getZoomType());
@@ -4741,6 +4873,8 @@
 {
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pView->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 
 	pFrame->raise();
 
@@ -4750,6 +4884,8 @@
 	AP_Dialog_Break * pDialog
 		= (AP_Dialog_Break *)(pDialogFactory->requestDialog(AP_DIALOG_ID_BREAK));
 	UT_ASSERT(pDialog);
+	if (!pDialog)
+		return false;
 
 	pDialog->runModal(pFrame);
 
@@ -4812,9 +4948,13 @@
 {
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pView->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 
 	XAP_App * pApp = pFrame->getApp();
 	UT_ASSERT(pApp);
+	if (!pApp)
+		return false;
 
 	pFrame->raise();
 	XAP_DialogFactory * pDialogFactory
@@ -4824,6 +4964,8 @@
 	  (AP_Dialog_PageSetup *)(pDialogFactory->requestDialog(AP_DIALOG_ID_FILE_PAGESETUP));
 
 	UT_ASSERT(pDialog);
+	if (!pDialog)
+		return false;
 
 	PD_Document * pDoc = pView->getLayout()->getDocument();
 	//
@@ -5142,6 +5284,8 @@
 {
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pView->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 
 	pFrame->raise();
 	XAP_DialogFactory * pDialogFactory
@@ -5150,6 +5294,8 @@
 	XAP_Dialog_Insert_Symbol * pDialog
 		= (XAP_Dialog_Insert_Symbol *)(pDialogFactory->requestDialog(id));
 	UT_ASSERT(pDialog);
+	if (!pDialog)
+		return false;
 	
 	if(pDialog->isRunning() == true)
 	{
@@ -5206,6 +5352,8 @@
 
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> (pAV_View->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 
 	pFrame->raise();
 	XAP_DialogFactory * pDialogFactory
@@ -5214,6 +5362,8 @@
 	XAP_Dialog_PluginManager * pDialog
 		= (XAP_Dialog_PluginManager *)(pDialogFactory->requestDialog(XAP_DIALOG_ID_PLUGIN_MANAGER));
 	UT_ASSERT(pDialog);
+	if (!pDialog)
+		return false;
 
 	pDialog->runModal (pFrame);
 
@@ -5236,13 +5386,17 @@
 	// TODO: Share this function with viewFormat & viewExtra
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pAV_View->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 
 	AP_FrameData *pFrameData = (AP_FrameData *)pFrame->getFrameData();
 	UT_ASSERT(pFrameData);
+	if (!pFrameData)
+		return false;
 
 	// don't do anything if fullscreen
 	if (pFrameData->m_bIsFullScreen)
-	  return false;
+		return false;
 
 	// toggle the ruler bit
 	pFrameData->m_bShowBar[0] = ! pFrameData->m_bShowBar[0];
@@ -5267,9 +5421,13 @@
 {
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pAV_View->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 
 	AP_FrameData *pFrameData = (AP_FrameData *)pFrame->getFrameData();
 	UT_ASSERT(pFrameData);
+	if (!pFrameData)
+		return false;
 
 	// don't do anything if fullscreen
 	if (pFrameData->m_bIsFullScreen)
@@ -5298,9 +5456,13 @@
 {
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pAV_View->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 
 	AP_FrameData *pFrameData = static_cast<AP_FrameData *> (pFrame->getFrameData());
 	UT_ASSERT(pFrameData);
+	if (!pFrameData)
+		return false;
 
 	// don't do anything if fullscreen
 	if (pFrameData->m_bIsFullScreen)
@@ -5329,9 +5491,13 @@
 {
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pAV_View->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 
 	AP_FrameData *pFrameData = (AP_FrameData *)pFrame->getFrameData();
 	UT_ASSERT(pFrameData);
+	if (!pFrameData)
+		return false;
 
 	pFrameData->m_pViewMode = VIEW_NORMAL;
 	pFrame->toggleLeftRuler (false);
@@ -5356,9 +5522,13 @@
 {
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pAV_View->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 
 	AP_FrameData *pFrameData = (AP_FrameData *)pFrame->getFrameData();
 	UT_ASSERT(pFrameData);
+	if (!pFrameData)
+		return false;
 
 	pFrameData->m_pViewMode = VIEW_WEB;
 	pFrame->toggleLeftRuler (false);
@@ -5383,9 +5553,13 @@
 {
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pAV_View->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 
 	AP_FrameData *pFrameData = (AP_FrameData *)pFrame->getFrameData();
 	UT_ASSERT(pFrameData);
+	if (!pFrameData)
+		return false;
 
 	pFrameData->m_pViewMode = VIEW_PRINT;
 	pFrame->toggleLeftRuler (true && (pFrameData->m_bShowRuler) &&
@@ -5411,11 +5585,13 @@
 {
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pAV_View->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 
 	AP_FrameData *pFrameData = static_cast<AP_FrameData *> (pFrame->getFrameData());
 	UT_ASSERT(pFrameData);
 	// don't do anything if fullscreen
-	if (pFrameData->m_bIsFullScreen)
+	if (!pFrameData || pFrameData->m_bIsFullScreen)
 	  return false;
 
 
@@ -5441,12 +5617,14 @@
 {
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pAV_View->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 
 	AP_FrameData *pFrameData = (AP_FrameData *)pFrame->getFrameData();
 	UT_ASSERT(pFrameData);
 
 	// don't do anything if fullscreen
-	if (pFrameData->m_bIsFullScreen)
+	if (!pFrameData || pFrameData->m_bIsFullScreen)
 	  return false;
 
 	// toggle the ruler bit
@@ -5500,9 +5678,13 @@
 {
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pAV_View->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 
 	AP_FrameData *pFrameData = (AP_FrameData *)pFrame->getFrameData();
 	UT_ASSERT(pFrameData);
+	if (!pFrameData)
+		return false;
 
 	pFrameData->m_bShowPara = !pFrameData->m_bShowPara;
 
@@ -5529,6 +5711,8 @@
 {
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pAV_View->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 
 	// TODO: synch this implementation with ap_GetState_View
 	s_TellNotImplemented(pFrame, "View Headers and Footers", __LINE__);
@@ -5541,6 +5725,8 @@
 
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pAV_View->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 
 	// TODO the cast below is ugly
 
@@ -5582,6 +5768,8 @@
 {
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pView->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 
 	pFrame->raise();
 
@@ -5591,6 +5779,8 @@
 	AP_Dialog_Insert_DateTime * pDialog
 		= (AP_Dialog_Insert_DateTime *)(pDialogFactory->requestDialog(AP_DIALOG_ID_INSERT_DATETIME));
 	UT_ASSERT(pDialog);
+	if (!pDialog)
+		return false;
 
 	pDialog->runModal(pFrame);
 
@@ -5645,6 +5835,8 @@
 
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pView->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 
 	pFrame->raise();
 
@@ -5654,6 +5846,8 @@
 	AP_Dialog_PageNumbers * pDialog
 		= (AP_Dialog_PageNumbers *)(pDialogFactory->requestDialog(AP_DIALOG_ID_PAGE_NUMBERS));
 	UT_ASSERT(pDialog);
+	if (!pDialog)
+		return false;
 
 	pDialog->runModal(pFrame);
 
@@ -5684,6 +5878,8 @@
 {
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pView->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 
 	pFrame->raise();
 
@@ -5693,6 +5889,8 @@
 	AP_Dialog_Field * pDialog
 		= (AP_Dialog_Field *)(pDialogFactory->requestDialog(AP_DIALOG_ID_FIELD));
 	UT_ASSERT(pDialog);
+	if (!pDialog)
+		return false;
 
 	pDialog->runModal(pFrame);
 
@@ -5737,6 +5935,8 @@
 {
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pView->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 	
 	pFrame->raise();
 	
@@ -5745,6 +5945,8 @@
 	AP_Dialog_Lists * pDialog
 		= (AP_Dialog_Lists *)(pDialogFactory->requestDialog(AP_DIALOG_ID_LISTS));
 	UT_ASSERT(pDialog);
+	if (!pDialog)
+		return false;
 
 	if(pDialog->isRunning() == true)
 	{
@@ -5766,6 +5968,8 @@
 #if defined(__QNXTO__) || defined(__BEOS__) || defined(TARGET_OS_MAC)
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pAV_View->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 
 	s_TellNotImplemented(pFrame, "Lists dialog", __LINE__);
 	return true;
@@ -5779,6 +5983,8 @@
 {
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pAV_View->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 
 	s_TellNotImplemented(pFrame, "Border and shading dialog", __LINE__);
 	return true;
@@ -5788,6 +5994,8 @@
 {
 	XAP_Frame * pFrame = (XAP_Frame *) pView->getParentData();
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 
 	pFrame->raise();
 
@@ -5797,6 +6005,8 @@
 	AP_Dialog_Columns * pDialog
 		= (AP_Dialog_Columns *)(pDialogFactory->requestDialog(AP_DIALOG_ID_COLUMNS));
 	UT_ASSERT(pDialog);
+	if (!pDialog)
+		return false;
 
 	if(pView->isHdrFtrEdit())
 		return false;
@@ -5889,11 +6099,13 @@
 	return true;
 }
 
-
+// TODO Dialog is not released?!
 static bool s_doStylesDlg(FV_View * pView)
 {
 	XAP_Frame * pFrame = (XAP_Frame *) pView->getParentData();
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 
 	pFrame->raise();
 
@@ -5903,6 +6115,9 @@
 	AP_Dialog_Styles * pDialog
 		= (AP_Dialog_Styles *)(pDialogFactory->requestDialog(AP_DIALOG_ID_STYLES));
 	UT_ASSERT(pDialog);
+	if (!pDialog)
+		return false;
+
 	pDialog->runModal(pFrame);
 
 	AP_Dialog_Styles::tAnswer ans = pDialog->getAnswer();
@@ -5966,6 +6181,8 @@
 {
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pView->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 
 	pFrame->raise();
 
@@ -5975,6 +6192,8 @@
 	AP_Dialog_WordCount * pDialog
 		= (AP_Dialog_WordCount *)(pDialogFactory->requestDialog(AP_DIALOG_ID_WORDCOUNT));
 	UT_ASSERT(pDialog);
+	if (!pDialog)
+		return false;
 
 	if(pDialog->isRunning())
 	{
@@ -6316,6 +6535,8 @@
 	
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pAV_View->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 
 	// When exiting input mode, vi goes to previous character
 	pView->cmdCharMotion(false,1);
@@ -6330,6 +6551,8 @@
 	
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pAV_View->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 
 	bool bResult = (pFrame->setInputMode("viInput") != 0);
 	return bResult;
@@ -6341,10 +6564,16 @@
 
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pAV_View->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 	XAP_App * pApp = pFrame->getApp();
 	UT_ASSERT(pApp);
+	if (!pApp)
+		return false;
 	XAP_Prefs * pPrefs = pApp->getPrefs();
 	UT_ASSERT(pPrefs);
+	if (!pPrefs)
+		return false;
 
 	// this edit method may get ignored entirely
 	bool b;
@@ -6375,10 +6604,16 @@
 {
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> ( pAV_View->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 	XAP_App * pApp = pFrame->getApp();
 	UT_ASSERT(pApp);
+	if (!pApp)
+		return false;
 	XAP_Prefs * pPrefs = pApp->getPrefs();
 	UT_ASSERT(pPrefs);
+	if (!pPrefs)
+		return false;
 
 	// this edit method may get ignored entirely
 	bool b;
@@ -6388,6 +6623,8 @@
 	// toggle the insert mode
 	AP_FrameData *pFrameData = (AP_FrameData *)pFrame->getFrameData();
 	UT_ASSERT(pFrameData);
+	if (!pFrameData)
+		return false;
 
 	pFrameData->m_bInsertMode = ! pFrameData->m_bInsertMode;
 
@@ -6885,6 +7122,8 @@
 {
 	XAP_Frame * pFrame = static_cast<XAP_Frame *> (pAV_View->getParentData());
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 
 	char * pNewFile = NULL;
 	IEFileType ieft = IEFT_Bogus;
@@ -6904,6 +7143,8 @@
 
 	XAP_Frame * pFrame = (XAP_Frame *) pView->getParentData();
 	UT_ASSERT(pFrame);
+	if (!pFrame)
+		return false;
 
 	pFrame->raise();
 
@@ -6913,6 +7154,8 @@
 	AP_Dialog_Background * pDialog
 		= (AP_Dialog_Background *)(pDialogFactory->requestDialog(AP_DIALOG_ID_BACKGROUND));
 	UT_ASSERT(pDialog);
+	if (!pDialog)
+		return false;
 
 //
 // Get Current background color
