Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37044506
en ru br
ALT Linux repos
S:3.0.5-alt1.2
D:2.5.2-alt1
5.0: 2.6.5-alt1
4.1: 2.6.4-alt2.M41.1
4.0: 2.5.2-alt2
3.0: 2.2.7-alt1

Other repositories
Upstream:1.4rc5

Group :: Office
RPM: abiword

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

Patch: abiword-2.4.1-gochart.patch
Download


diff -Nur abiword-2.4.1~/abiword-plugins/tools/abigochart/unix/AbiGOChart.cpp abiword-2.4.1/abiword-plugins/tools/abigochart/unix/AbiGOChart.cpp
--- abiword-2.4.1~/abiword-plugins/tools/abigochart/unix/AbiGOChart.cpp	2005-09-06 17:56:27 +0300
+++ abiword-2.4.1/abiword-plugins/tools/abigochart/unix/AbiGOChart.cpp	2005-11-19 18:56:37 +0200
@@ -78,6 +78,8 @@
 #include <goffice/graph/gog-renderer-gnome-print.h>
 #include <goffice/utils/go-format.h>
 #include <gsf/gsf-impl-utils.h>
+#include <gsf/gsf-output-memory.h>
+#include <gsf/gsf-libxml.h>
 
 #include "ut_sleep.h"
 #include <sys/types.h>  
@@ -759,15 +761,14 @@
 {
 	g_return_if_fail (IS_GOG_GRAPH (graph));
 	AbiControlGUI *acg = ABI_CONTROL_GUI (data);
-	xmlDocPtr pDoc = xmlNewDoc ((xmlChar const*)"1.0");
-	xmlChar *mem;
-	int size;
 	AbiGO_LocaleTransactor tn(LC_NUMERIC, "C");
 	AbiGO_LocaleTransactor tm(LC_MONETARY, "C");
-	pDoc->children = gog_object_write_xml (GOG_OBJECT (graph), pDoc);
-	xmlDocDumpMemory (pDoc, &mem, &size);
+	GsfOutput* output = gsf_output_memory_new ();
+	GsfXMLOut* xml = gsf_xml_out_new (output);
+	gog_object_write_xml_sax(GOG_OBJECT (graph), xml);
+	UT_Byte const *bytes = gsf_output_memory_get_bytes (GSF_OUTPUT_MEMORY (output));
 	UT_ByteBuf myByteBuf;
-	myByteBuf.append((UT_Byte*)mem, size);
+	myByteBuf.append(bytes, strlen ((char const*) bytes));
 	XAP_Frame *pFrame = XAP_App::getApp()->getLastFocussedFrame();
 	FV_View* pView = static_cast<FV_View*>(pFrame->getCurrentView());
 
@@ -776,8 +777,8 @@
 	UT_DEBUGMSG(("Doing Embed Update from GOG callback \n"));
 	pView->cmdUpdateEmbed(&myByteBuf,mimetypeGOChart,szProps);
 
-	xmlFree (mem);
-	xmlFreeDoc (pDoc);
+	g_object_unref (xml);
+	g_object_unref (output);
 	g_object_unref (acg);
 }
 
@@ -798,18 +799,17 @@
 	GogGraph *graph = (GogGraph *) g_object_new (GOG_GRAPH_TYPE, NULL);
 	/* by default, create one chart and add it to the graph */
 	gog_object_add_by_name (GOG_OBJECT (graph), "Chart", NULL);
-	xmlDocPtr xml = xmlNewDoc ((xmlChar const*)"1.0");
-	xmlChar *mem;
-	int size;
+	GsfOutput* output = gsf_output_memory_new ();
+	GsfXMLOut* xml = gsf_xml_out_new (output);
 	{
 		AbiGO_LocaleTransactor tn(LC_NUMERIC, "C");
 		AbiGO_LocaleTransactor tm(LC_NUMERIC, "C");
-		xml->children = gog_object_write_xml (GOG_OBJECT (graph), xml);
+		gog_object_write_xml_sax (GOG_OBJECT (graph), xml);
 	}
-	xmlDocDumpMemory (xml, &mem, &size);
-	myByteBuf.append((UT_Byte*)mem, size);
-	xmlFree (mem);
-	xmlFreeDoc (xml);
+	UT_Byte const *bytes = gsf_output_memory_get_bytes (GSF_OUTPUT_MEMORY (output));
+	myByteBuf.append(bytes, strlen ((char const*) bytes));
+	g_object_unref (xml);
+	g_object_unref (output);
 
 	const char* mimetypeGOChart = "application/x-goffice-graph";
 	const char * szProps="embed-type: GOChart; width:2.5in; height:2.5in";
@@ -1118,7 +1118,6 @@
 		// too).
 		//
 		y = pUGG->scale_ydir(y);
-		printf("print chart - x %d,y %d,width %d,height %d \n",x,y,myWidth,myHeight);
 		gnome_print_gsave (ctx);
 
 		gnome_print_translate (ctx, x, y+myHeight);
@@ -1127,13 +1126,20 @@
 	}
 	else 
 	{
-		GdkPixbuf *pixbuf;
-		if (rec.height != height || rec.width != width || (height == 0) || (width == 0)) 
+		GR_Graphics *pUGG = m_pGOMan->getGraphics();
+		UT_sint32 _width = pUGG->tdu(rec.width);
+		UT_sint32 _height = pUGG->tdu(rec.height);
+		UT_sint32 x = pUGG->tdu(rec.left);
+		UT_sint32 y = pUGG->tdu(rec.top);
+		double zoom = (double) pUGG->getZoomPercentage () / 100.;
+		if (_width != width || _height != height)
 		{
 			GdkPixbuf *pixbuf;
-			width = rec.width;
-			height = rec.height;
-			gog_renderer_pixbuf_update (GOG_RENDERER_PIXBUF (m_Renderer), width, height, 1.0);	
+			width = _width;
+			height = _height;
+			_width = (UT_sint32) ((double) width * zoom);
+			_height = (UT_sint32) ((double) height * zoom);
+			gog_renderer_pixbuf_update (GOG_RENDERER_PIXBUF (m_Renderer), _width, _height, zoom);	
 			if (m_Image)
 				delete m_Image;
 			gsize length;
@@ -1212,7 +1218,9 @@
     XAP_App * pApp = XAP_App::getApp();	
     pGOChartManager = new GR_GOChartManager(NULL);
     GOChartManagerUID = pApp->registerEmbeddable(pGOChartManager);
-    UT_DEBUGMSG(("Class  %x created! Listener Id %d \n", GOChartManagerUID));
+	// the message below makes valgrind scream because there is only one parameter where
+	// 2 are expected. disabled.
+    xxx_UT_DEBUGMSG(("Class  %x created! Listener Id %d \n", GOChartManagerUID));
    // Add to AbiWord's menus.
     AbiGOChart_addToMenus();
  	/* Initialize libgoffice */
diff -Nur abiword-2.4.1~/abiword-plugins/tools/abigochart/unix/CVS/Entries abiword-2.4.1/abiword-plugins/tools/abigochart/unix/CVS/Entries
--- abiword-2.4.1~/abiword-plugins/tools/abigochart/unix/CVS/Entries	1970-01-01 03:00:00 +0300
+++ abiword-2.4.1/abiword-plugins/tools/abigochart/unix/CVS/Entries	2005-11-23 20:51:15 +0200
@@ -0,0 +1,6 @@
+/AbiGOChart.cpp/1.20/Sat Nov 19 16:56:37 2005//
+/AbiGOChart.h/1.6/Fri Jun 10 13:13:38 2005//
+/GNUmakefile.am/1.2/Tue May  3 15:32:14 2005//
+/ie_imp_GOChart.cpp/1.5/Thu Nov 17 11:07:16 2005//
+/ie_imp_GOChart.h/1.2/Fri Jun 10 13:13:38 2005//
+D
diff -Nur abiword-2.4.1~/abiword-plugins/tools/abigochart/unix/CVS/Repository abiword-2.4.1/abiword-plugins/tools/abigochart/unix/CVS/Repository
--- abiword-2.4.1~/abiword-plugins/tools/abigochart/unix/CVS/Repository	1970-01-01 03:00:00 +0300
+++ abiword-2.4.1/abiword-plugins/tools/abigochart/unix/CVS/Repository	2005-11-23 20:51:15 +0200
@@ -0,0 +1 @@
+abiword-plugins/tools/abigochart/unix
diff -Nur abiword-2.4.1~/abiword-plugins/tools/abigochart/unix/CVS/Root abiword-2.4.1/abiword-plugins/tools/abigochart/unix/CVS/Root
--- abiword-2.4.1~/abiword-plugins/tools/abigochart/unix/CVS/Root	1970-01-01 03:00:00 +0300
+++ abiword-2.4.1/abiword-plugins/tools/abigochart/unix/CVS/Root	2005-11-23 20:51:15 +0200
@@ -0,0 +1 @@
+:pserver:anoncvs@anoncvs.abisource.com:/cvsroot
diff -Nur abiword-2.4.1~/abiword-plugins/tools/abigochart/unix/ie_imp_GOChart.cpp abiword-2.4.1/abiword-plugins/tools/abigochart/unix/ie_imp_GOChart.cpp
--- abiword-2.4.1~/abiword-plugins/tools/abigochart/unix/ie_imp_GOChart.cpp	2005-06-27 08:56:00 +0300
+++ abiword-2.4.1/abiword-plugins/tools/abigochart/unix/ie_imp_GOChart.cpp	2005-11-17 13:07:16 +0200
@@ -76,7 +76,7 @@
 UT_Confidence_t IE_Imp_Object_Sniffer::recognizeContents(const char * szBuf,
 													   UT_uint32 iNumbytes)
 {
-	char * magic1 = "<?xml version=\"1.0\"?>";
+	char * magic1 = "<?xml version=\"1.0\"";
 	char * magic2 = "<GogObject type=\"GogGraph\">";
 	
 	xxx_UT_DEBUGMSG(("magic1 = %s \n",magic1));
 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin