? bug#10684.diff ? font-combo.diff ? foo.sh ? libabiword-2.diff ? libabiword.diff ? prune-peer-wv.diff ? ac-helpers/compile ? src/other/ttftool/GNUmakefile.in ? src/other/ttftool/unix/GNUmakefile.in ? src/tools/pfa2afm/GNUmakefile.in ? src/tools/pfa2afm/unix/GNUmakefile.in ? src/tools/ttftool/GNUmakefile.in ? src/tools/ttftool/unix/GNUmakefile.in Index: src/wp/ap/unix/abiwidget.cpp =================================================================== RCS file: /cvsroot/abi/src/wp/ap/unix/abiwidget.cpp,v retrieving revision 1.70 diff -a -u -p -r1.70 abiwidget.cpp --- src/wp/ap/unix/abiwidget.cpp 4 Jan 2007 02:46:11 -0000 1.70 +++ src/wp/ap/unix/abiwidget.cpp 10 Jan 2007 13:27:10 -0000 @@ -86,10 +86,8 @@ class AbiWidget_ViewListener; // About that here struct _AbiPrivData { - AP_UnixApp * m_pApp; AP_UnixFrame * m_pFrame; char * m_szFilename; - bool externalApp; bool m_bMappedToScreen; bool m_bPendingFile; bool m_bMappedEventProcessed; @@ -1311,8 +1309,6 @@ abi_widget_init (AbiWidget * abi) priv->m_bMappedEventProcessed = false; priv->m_bUnlinkFileAfterLoad = false; priv->m_iNumFileLoads = 0; - priv->m_pApp = NULL; - priv->externalApp = false; priv->m_bShowMargin = true; priv->m_bOlpcSelections = true; priv->m_sMIMETYPE = new UT_UTF8String(""); @@ -1431,38 +1427,29 @@ abi_widget_destroy_gtk (GtkObject *objec abi = ABI_WIDGET(object); // order of deletion is important here + XAP_App *pApp = XAP_App::getApp(); bool bBonobo = false; bool bKillApp = false; if(abi->priv) { _abi_widget_releaseListener(abi); - - if(abi->priv->m_pApp) + bBonobo = pApp->isBonoboRunning(); + if(abi->priv->m_pFrame) { - bBonobo = abi->priv->m_pApp->isBonoboRunning(); - if(abi->priv->m_pFrame) - { -#ifdef LOGFILE - fprintf(getlogfile(),"frame count before forgetting = %d \n",abi->priv->m_pApp->getFrameCount()); -#endif - if(abi->priv->m_pApp->getFrameCount() <= 1) - { - bKillApp = true; - } - abi->priv->m_pApp->forgetFrame(abi->priv->m_pFrame); - abi->priv->m_pFrame->close(); - delete abi->priv->m_pFrame; #ifdef LOGFILE - fprintf(getlogfile(),"frame count = %d \n",abi->priv->m_pApp->getFrameCount()); + fprintf(getlogfile(),"frame count before forgetting = %d \n",pApp->getFrameCount()); #endif - } - if(!abi->priv->externalApp) + if(pApp->getFrameCount() <= 1) { - abi->priv->m_pApp->shutdown(); - delete abi->priv->m_pApp; bKillApp = true; } + pApp->forgetFrame(abi->priv->m_pFrame); + abi->priv->m_pFrame->close(); + delete abi->priv->m_pFrame; +#ifdef LOGFILE + fprintf(getlogfile(),"frame count = %d \n",pApp->getFrameCount()); +#endif } g_free (abi->priv->m_szFilename); delete abi->priv->m_sMIMETYPE; @@ -1734,20 +1721,14 @@ abi_widget_class_init (AbiWidgetClass *a } static void -abi_widget_construct (AbiWidget * abi, const char * file, AP_UnixApp * pApp) +abi_widget_construct (AbiWidget * abi, const char * file) { - if(pApp != NULL) - { - abi->priv->m_pApp = pApp; - abi->priv->externalApp = true; - } // this is all that we can do here, because we can't draw until we're // realized and have a GdkWindow pointer if (file) abi->priv->m_szFilename = g_strdup (file); - UT_DEBUGMSG(("AbiWidget Constructed Now %x \n",abi->priv->m_pApp)); #ifdef LOGFILE fprintf(getlogfile(),"AbiWidget Constructed %x \n",abi); #endif @@ -1775,35 +1756,15 @@ abi_widget_map_to_screen(AbiWidget * abi XAP_Args *pArgs = 0; abi->priv->m_bMappedToScreen = true; - if(!abi->priv->externalApp) - { - if (abi->priv->m_szFilename) - // C++ casts don't seem to work here - pArgs = new XAP_Args (1, (const char **)(&abi->priv->m_szFilename)); - else - pArgs = new XAP_Args(0, 0); - - AP_UnixApp * pApp = static_cast(XAP_App::getApp()); - - if ( !pApp ) - pApp = new AP_UnixApp (pArgs, "AbiWidget"); - - UT_ASSERT(pApp); - pApp->initialize(true); - abi->priv->m_pApp = pApp; - } - AP_UnixFrame * pFrame = new AP_UnixFrame(); UT_ASSERT(pFrame); static_cast(pFrame->getFrameImpl())->setTopLevelWindow(widget); pFrame->initialize(XAP_NoMenusWindowLess); abi->priv->m_pFrame = pFrame; - if(!abi->priv->externalApp) - delete pArgs; - abi->priv->m_pApp->rememberFrame ( pFrame ) ; - abi->priv->m_pApp->rememberFocussedFrame ( pFrame ) ; + XAP_App::getApp()->rememberFrame ( pFrame ) ; + XAP_App::getApp()->rememberFocussedFrame ( pFrame ) ; //_abi_widget_bindListenerToView(abi, pFrame->getCurrentView()); @@ -1860,7 +1821,7 @@ abi_widget_new (void) AbiWidget * abi; UT_DEBUGMSG(("Constructing AbiWidget \n")); abi = static_cast(g_object_new (abi_widget_get_type (), NULL)); - abi_widget_construct (abi, 0, NULL); + abi_widget_construct (abi, 0); return GTK_WIDGET (abi); } @@ -1881,48 +1842,7 @@ abi_widget_new_with_file (const gchar * g_return_val_if_fail (file != 0, 0); abi = static_cast(g_object_new (abi_widget_get_type (), NULL)); - abi_widget_construct (abi, file,NULL); - - return GTK_WIDGET (abi); -} - -/** - * abi_widget_new_with_app - * - * Creates a new AbiWord widget using an external Abiword App - */ -extern "C" GtkWidget * -abi_widget_new_with_app (AP_UnixApp * pApp) -{ - AbiWidget * abi; - - g_return_val_if_fail (pApp != 0, 0); - - abi = static_cast(g_object_new (abi_widget_get_type (), NULL)); - abi_widget_construct (abi, 0, pApp); - - return GTK_WIDGET (abi); -} - -/** - * abi_widget_new_with_app_file - * - * Creates a new AbiWord widget and tries to load the file - * This uses an external Abiword App - * - * \param file - A file on your HD - * \param pApp - pointer to a valid AbiWord XAP_UnixApp - */ -extern "C" GtkWidget * -abi_widget_new_with_app_file (AP_UnixApp * pApp, const gchar * file) -{ - AbiWidget * abi; - - g_return_val_if_fail (file != 0, 0); - g_return_val_if_fail (pApp != 0, 0); - - abi = static_cast(g_object_new (abi_widget_get_type (), NULL)); - abi_widget_construct (abi, file, pApp); + abi_widget_construct (abi, file); return GTK_WIDGET (abi); } @@ -2007,10 +1927,10 @@ abi_widget_invoke_ex (AbiWidget * w, con // lots of conditional returns - code defensively g_return_val_if_fail (w != 0, FALSE); g_return_val_if_fail (mthdName != 0, FALSE); - g_return_val_if_fail (w->priv->m_pApp != 0, FALSE); // get the method container - container = w->priv->m_pApp->getEditMethodContainer(); + XAP_App *pApp = XAP_App::getApp(); + container = pApp->getEditMethodContainer(); g_return_val_if_fail (container != 0, FALSE); // get a handle to the actual EditMethod Index: src/wp/ap/unix/abiwidget.h =================================================================== RCS file: /cvsroot/abi/src/wp/ap/unix/abiwidget.h,v retrieving revision 1.23 diff -a -u -p -r1.23 abiwidget.h --- src/wp/ap/unix/abiwidget.h 1 Jan 2007 15:35:01 -0000 1.23 +++ src/wp/ap/unix/abiwidget.h 10 Jan 2007 13:27:10 -0000 @@ -362,8 +362,6 @@ gint* iLength); #ifdef ABIWORD_INTERNAL /* these functions are used by abiword internally and really aren't exported to the rest of the world */ - GtkWidget * abi_widget_new_with_app (AP_UnixApp * pApp); - GtkWidget * abi_widget_new_with_app_file (AP_UnixApp * pApp,const gchar * file); XAP_Frame * abi_widget_get_frame ( AbiWidget * w ) ; #endif Index: src/wp/ap/unix/ap_UnixApp.cpp =================================================================== RCS file: /cvsroot/abi/src/wp/ap/unix/ap_UnixApp.cpp,v retrieving revision 1.317 diff -a -u -p -r1.317 ap_UnixApp.cpp --- src/wp/ap/unix/ap_UnixApp.cpp 1 Jan 2007 15:35:01 -0000 1.317 +++ src/wp/ap/unix/ap_UnixApp.cpp 10 Jan 2007 13:27:10 -0000 @@ -2718,8 +2718,7 @@ bonobo_AbiWidget_factory (BonoboGeneric /* * create a new AbiWidget instance */ - AP_UnixApp * pApp = static_cast(XAP_App::getApp()); - GtkWidget * abi = abi_widget_new_with_app (pApp); + GtkWidget * abi = abi_widget_new (); #ifdef LOGFILE fprintf(logfile," After new_with_app ref count %d \n",G_OBJECT(abi)->ref_count); #endif Index: src/wp/main/unix/GNUmakefile.am =================================================================== RCS file: /cvsroot/abi/src/wp/main/unix/GNUmakefile.am,v retrieving revision 1.42 diff -a -u -p -r1.42 GNUmakefile.am --- src/wp/main/unix/GNUmakefile.am 7 Jan 2007 19:57:26 -0000 1.42 +++ src/wp/main/unix/GNUmakefile.am 10 Jan 2007 13:27:11 -0000 @@ -55,7 +55,7 @@ ABIWORD_LIBRARY = libabiword-$(ABIWORD_S ABIWORD_SODIR = $(shell pwd) ABIWORD_DYNBINARY = abiword-dynamic -$(ABIWORD_LIBRARY): $(ABI_LIBS) abi_ver.cpp +$(ABIWORD_LIBRARY): $(ABI_LIBS) $(srcdir)/libabiword.cpp abi_ver.cpp $(CXX) -shared -Wl,-soname,$(ABIWORD_LIBRARY) -o $@ \ $(CPPFLAGS) $(CXXFLAGS) $(INCLUDES) \ -DPACKAGE="\"$(PACKAGE)\"" \ Index: src/wp/main/unix/libabiword.cpp =================================================================== RCS file: /cvsroot/abi/src/wp/main/unix/libabiword.cpp,v retrieving revision 1.1 diff -a -u -p -r1.1 libabiword.cpp --- src/wp/main/unix/libabiword.cpp 1 Dec 2006 10:18:48 -0000 1.1 +++ src/wp/main/unix/libabiword.cpp 10 Jan 2007 13:27:11 -0000 @@ -31,6 +31,8 @@ void libabiword_init (int argc, const ch _abiword_app = new AP_UnixApp(&XArgs, PACKAGE); AP_Args Args = AP_Args(&XArgs, PACKAGE, _abiword_app); Args.parsePoptOpts(); + _abiword_app->initialize(TRUE); + /* TODO set up segfault handlers */ } }