[Kde-bindings] KDE/kdebindings/kalyptus

Richard Dale Richard_Dale at tipitina.demon.co.uk
Fri Aug 22 19:20:08 UTC 2008


SVN commit 851036 by rdale:

* For classes without public or protected constructors, such as QClipboard, a temporary wrapper
  instance is created for each method call. The destructor in the wrapper class was referencing a
  '_binding' instance for callbacks into the bindings language runtime, which wasn't needed and
  wasn't actually set up either. This was causing a crash in the QClipboard::text() call reported by
  Stefano Crocco.

CCMAIL: kde-bindings at kde.org


 M  +3 -1      kalyptusCxxToSmoke.pm  


--- trunk/KDE/kdebindings/kalyptus/kalyptusCxxToSmoke.pm #851035:851036
@@ -1872,7 +1872,9 @@
     #}
     # We generate a dtor though, because we might want to add stuff into it
     if ( !$isGlobalSpace && $classNode->{NodeType} ne 'namespace' ) {
-        $methodCode .= "    ~$xClassName() { this->_binding->deleted($classNode->{ClassIndex}, (void*)this); }\n";
+        $methodCode .= "    ~$xClassName() { ";
+        $methodCode .= "this->_binding->deleted($classNode->{ClassIndex}, (void*)this);" if $classNode->{BindingDerives};
+        $methodCode .= " }\n";
     }
 
     if ($classNode->{CanBeInstanciated} and $classNode->{HasPublicDestructor}) {



More information about the Kde-bindings mailing list