rev 9849 - in trunk/packages/kdewebdev/debian: . patches

Ana Beatriz Guerrero López ana at alioth.debian.org
Tue Mar 25 15:16:03 UTC 2008


Author: ana
Date: 2008-03-25 15:16:03 +0000 (Tue, 25 Mar 2008)
New Revision: 9849

Added:
   trunk/packages/kdewebdev/debian/patches/06_kxsldbg_fixes1.diff
   trunk/packages/kdewebdev/debian/patches/07_kxsldb_fixes2.diff
Modified:
   trunk/packages/kdewebdev/debian/changelog
Log:
  * Add 2 patches made by Keith Isdale, thanks a lot!
  * Patch 06_kxsldbg_fixes1.diff fixes:
    - Problems honoring file encondings.  (Closes: #321277)
    - Segmentation fault with testfiles. (Closes: #450549)
  * Patch 07_kxsldbg_fixes2.diff fixes crash when setting the
    value of a xslt variable using the inspector tool.




Modified: trunk/packages/kdewebdev/debian/changelog
===================================================================
--- trunk/packages/kdewebdev/debian/changelog	2008-03-25 14:07:52 UTC (rev 9848)
+++ trunk/packages/kdewebdev/debian/changelog	2008-03-25 15:16:03 UTC (rev 9849)
@@ -1,3 +1,14 @@
+kdewebdev (4:3.5.9-2) unstable; urgency=low
+
+  * Add 2 patches made by Keith Isdale, thanks a lot!
+  * Patch 06_kxsldbg_fixes1.diff fixes:
+    - Problems honoring file encondings.  (Closes: #321277)
+    - Segmentation fault with testfiles. (Closes: #450549)
+  * Patch 07_kxsldbg_fixes2.diff fixes crash when setting the value 
+    of a xslt variable using the inspector tool.
+
+ -- Ana Beatriz Guerrero Lopez <ana at debian.org>  Tue, 25 Mar 2008 16:09:01 +0100
+
 kdewebdev (4:3.5.9-1) unstable; urgency=low
 
   * New upstream release.

Added: trunk/packages/kdewebdev/debian/patches/06_kxsldbg_fixes1.diff
===================================================================
--- trunk/packages/kdewebdev/debian/patches/06_kxsldbg_fixes1.diff	                        (rev 0)
+++ trunk/packages/kdewebdev/debian/patches/06_kxsldbg_fixes1.diff	2008-03-25 15:16:03 UTC (rev 9849)
@@ -0,0 +1,149 @@
+diff -x '*.*o*' -x '*.moc' -x Makefile -ur ../old/kdewebdev-3.5.8/kxsldbg/kxsldbgpart/libqtnotfier/xsldbgevent.cpp kxsldbg/kxsldbgpart/libqtnotfier/xsldbgevent.cpp
+--- kdewebdev-3.5.9/kxsldbg/kxsldbgpart/libqtnotfier/xsldbgevent.cpp	2005-09-10 18:23:15.000000000 +1000
++++ kdewebdev-3.5.9/kxsldbg/kxsldbgpart/libqtnotfier/xsldbgevent.cpp	2008-02-17 17:03:50.000000000 +1000
+@@ -522,7 +522,7 @@
+ 
+ 
+ 
+-	if (item->comp && item->comp->inst && item->comp->inst->doc){
++	if (item->computed && item->comp && item->comp->inst && item->comp->inst->doc){
+ 	  fileName = XsldbgDebuggerBase::fromUTF8FileName(item->comp->inst->doc->URL);
+ 	  lineNumber= xmlGetLineNo(item->comp->inst);
+ 	}
+@@ -566,7 +566,7 @@
+ 	  name = (XsldbgDebuggerBase::fromUTF8FileName(item->nameURI)).append(":");
+ 	name.append(XsldbgDebuggerBase::fromUTF8(item->name));
+ 
+-	if (item->comp && item->comp->inst){
++	if (item->computed && item->comp && item->comp->inst){
+ 	  varXmlNode = item->comp->inst;
+ 
+ 	  /* try to find out what template this variable belongs to */
+diff -x '*.*o*' -x '*.moc' -x Makefile -ur ../old/kdewebdev-3.5.8/kxsldbg/kxsldbgpart/libxsldbg/nodeview_cmds.cpp kxsldbg/kxsldbgpart/libxsldbg/nodeview_cmds.cpp
+--- kdewebdev-3.5.9/kxsldbg/kxsldbgpart/libxsldbg/nodeview_cmds.cpp	2005-09-10 18:23:15.000000000 +1000
++++ kdewebdev-3.5.9/kxsldbg/kxsldbgpart/libxsldbg/nodeview_cmds.cpp	2008-02-17 18:01:30.000000000 +1000
+@@ -527,47 +527,51 @@
+             }
+         } else {
+             /* list local variables */
+-            if (styleCtxt->varsBase) {
+-                xsltStackElemPtr item =
+-                    styleCtxt->varsTab[styleCtxt->varsBase];
+-                if (getThreadStatus() == XSLDBG_MSG_THREAD_RUN) {
+-                    notifyListStart(XSLDBG_MSG_LOCALVAR_CHANGED);
+-                    while (item) {
+-                        notifyListQueue(item);
+-                        item = item->next;
+-                    }
+-                    notifyListSend();
++            if (styleCtxt->varsNr &&  styleCtxt->varsTab) {
++		if (getThreadStatus() == XSLDBG_MSG_THREAD_RUN) {
++		    notifyListStart(XSLDBG_MSG_LOCALVAR_CHANGED);
++		    for (int i = styleCtxt->varsNr; i > styleCtxt->varsBase; i--) {
++			    xsltStackElemPtr item = styleCtxt->varsTab[i-1];
++			    while (item) {
++				    notifyListQueue(item);
++				    item = item->next;
++			    }
++		    }
++		    notifyListSend();
+                 } else {
+ 		    xmlChar * fullQualifiedName = nodeViewBuffer;
+-                    while (item) {		      
+-                        if (item->name) {			     
+-			    if (item->nameURI == NULL){
+-				snprintf((char*)fullQualifiedName, sizeof(nodeViewBuffer), "$%s",
+-					 item->name);
+-			    }else{
++		    for (int i = styleCtxt->varsNr; i > styleCtxt->varsBase; i--) {
++			    xsltStackElemPtr item = styleCtxt->varsTab[i-1];
++			    while (item) {		      
++				    if (item->name) {			     
++					    if (item->nameURI == NULL){
++						    snprintf((char*)fullQualifiedName, sizeof(nodeViewBuffer), "$%s",
++								    item->name);
++					    }else{
+ 
+-				snprintf((char*)fullQualifiedName, sizeof(nodeViewBuffer), "$%s:%s",
+-					 item->nameURI, item->name);
+-			    }
+-			    if (printVariableValue == 0){
+-				xsldbgGenericErrorFunc(i18n(" Local %1").arg(xsldbgText(fullQualifiedName)));
+-			    }else{
+-			        if (item->computed == 1){
+-			           xsldbgGenericErrorFunc(i18n(" Local "));
+-			           printXPathObject(item->value, fullQualifiedName);
+-			        }else if (item->tree){
+-			           xsldbgGenericErrorFunc(i18n(" Local = %1\n").arg(xsldbgText(fullQualifiedName)));
+-			           xslDbgCatToFile(item->tree, stderr);
+-			        }else if (item->select){
+-				  xsldbgGenericErrorFunc(i18n(" Local = %1\n%2").arg(xsldbgText(fullQualifiedName)).arg(xsldbgText(item->select)));
+-				}else{
+-				  /* can't find a value give only a variable name and an error */
+-				  xsldbgGenericErrorFunc(i18n(" Local = %1\n%2").arg(xsldbgText(fullQualifiedName)).arg(i18n("Warning: No value assigned to variable.\n")));
+-				}
++						    snprintf((char*)fullQualifiedName, sizeof(nodeViewBuffer), "$%s:%s",
++								    item->nameURI, item->name);
++					    }
++					    if (printVariableValue == 0){
++						    xsldbgGenericErrorFunc(i18n(" Local %1").arg(xsldbgText(fullQualifiedName)));
++					    }else{
++						    if (item->computed == 1){
++							    xsldbgGenericErrorFunc(i18n(" Local "));
++							    printXPathObject(item->value, fullQualifiedName);
++						    }else if (item->tree){
++							    xsldbgGenericErrorFunc(i18n(" Local = %1\n").arg(xsldbgText(fullQualifiedName)));
++							    xslDbgCatToFile(item->tree, stderr);
++						    }else if (item->select){
++							    xsldbgGenericErrorFunc(i18n(" Local = %1\n%2").arg(xsldbgText(fullQualifiedName)).arg(xsldbgText(item->select)));
++						    }else{
++							    /* can't find a value give only a variable name and an error */
++							    xsldbgGenericErrorFunc(i18n(" Local = %1\n%2").arg(xsldbgText(fullQualifiedName)).arg(i18n("Warning: No value assigned to variable.\n")));
++						    }
++					    }
++					    xsltGenericError(xsltGenericErrorContext, "\n\032\032\n");
++				    }
++				    item = item->next;
+ 			    }
+-			    xsltGenericError(xsltGenericErrorContext, "\n\032\032\n");
+-			}
+-                        item = item->next;
+ 		    }
+                 }
+                 result = 1;
+diff -x '*.*o*' -x '*.moc' -x Makefile -ur ../old/kdewebdev-3.5.8/kxsldbg/kxsldbgpart/libxsldbg/variable_cmds.cpp kxsldbg/kxsldbgpart/libxsldbg/variable_cmds.cpp
+--- kdewebdev-3.5.9/kxsldbg/kxsldbgpart/libxsldbg/variable_cmds.cpp	2005-09-10 18:23:15.000000000 +1000
++++ kdewebdev-3.5.9/kxsldbg/kxsldbgpart/libxsldbg/variable_cmds.cpp	2008-02-17 18:05:25.000000000 +1000
+@@ -60,19 +60,20 @@
+             if (name && selectExpr) {
+                 xsltStackElemPtr def = NULL;
+ 
+-                if (styleCtxt->varsBase) {
++                if (styleCtxt->varsNr && styleCtxt->varsTab) {
+                     /* try finding varaible in stack */
+-                    xsltStackElemPtr item =
+-                        styleCtxt->varsTab[styleCtxt->varsBase];
+-                    while (item) {
+-                        if ((xmlStrCmp(name, item->name) == 0) &&
+-                            (item->nameURI == NULL
+-                             || (xmlStrCmp(name, item->nameURI) == 0))) {
+-                            def = item;
+-                            break;
+-                        }
+-                        item = item->next;
+-                    }
++		    for (int i = styleCtxt->varsNr; i > styleCtxt->varsBase; i--) {
++			    xsltStackElemPtr item = styleCtxt->varsTab[i-1];
++			    while (item) {
++				    if ((xmlStrCmp(name, item->name) == 0) &&
++						    (item->nameURI == NULL
++						     || (xmlStrCmp(name, item->nameURI) == 0))) {
++					    def = item;
++					    break;
++				    }
++				    item = item->next;
++			    }
++		    }
+                 }
+ 
+                 if (def == NULL)

Added: trunk/packages/kdewebdev/debian/patches/07_kxsldb_fixes2.diff
===================================================================
--- trunk/packages/kdewebdev/debian/patches/07_kxsldb_fixes2.diff	                        (rev 0)
+++ trunk/packages/kdewebdev/debian/patches/07_kxsldb_fixes2.diff	2008-03-25 15:16:03 UTC (rev 9849)
@@ -0,0 +1,15 @@
+--- kdewebdev-3.5.9/kxsldbg/kxsldbgpart/libxsldbg/variable_cmds.cpp	2008/03/25 00:50:12	789725
++++ kdewebdev-3.5.9/kxsldbg/kxsldbgpart/libxsldbg/variable_cmds.cpp	2008/03/25 00:58:30	789726
+@@ -81,9 +81,9 @@
+                                        name, nameURI);
+                 if (def != NULL) {
+                     if (def->select) {
+-                        /* we've found the variable so change it */
+-                        xmlFree((void*)def->select);
+-                        def->select = selectExpr;
++			def->select = xmlDictLookup(styleCtxt->dict, selectExpr, -1);
++			def->tree = NULL;  /* maybe a memory leak, but play it safe */
++			def->computed = 1;
+                         if (def->comp->comp)
+                             xmlXPathFreeCompExpr(def->comp->comp);
+                         def->comp->comp = xmlXPathCompile(def->select);




More information about the pkg-kde-commits mailing list