[Kde-bindings] Qt3 Kimono version - got it compiled

Arno Rehn kde-bindings at arnorehn.de
Fri Nov 25 18:48:28 UTC 2005


Am Freitag, 25. November 2005 19:29 schrieb Richard Dale:
> Good news! That was fast work, maybe we ought to turn it into a proper
> project?
>
> I can't see anything special about SetCaption():
>
> baldhead duke 1071% grep SetCaption *.cs
> QDockWindow.cs:         public new void SetCaption(string s) {
> QDockWindow.cs:                 ProxyQDockWindow().SetCaption(s);
> QWidget.cs:             public virtual void SetCaption(string arg1) {
> QWidget.cs:                     ProxyQWidget().SetCaption(arg1);
>
> Is it the only method that is passed an argument in your example?
>
> It is certainly in the Smoke library. I put debugging on this QtRuby
> example to trace the call, and it looks fine to me:
>
Ok, the sources are at the end of the message, but currently I have another 
problem. If I run anything with the Qt-bindings, I get this:


In AddGetSmokeObject 0x40abe778
In AddSetSmokeObject 0x40abe818
In AddMapPointer 0x40abe8b8
In AddUnmapPointer 0x40abe958
In AddGetPointerObject 0x40abe9f8
Invoke() MethodName: NewQApplication Type: Qt.QApplication, Qt, 
Version=0.0.0.0, Culture=neutral, PublicKeyToken=null ArgCount: 1

=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================

Stacktrace:

in <0x4> (wrapper managed-to-native) Qt.SmokeInvocation:FindMethodId 
(string,string)
in <0xfffffe8b> (wrapper managed-to-native) Qt.SmokeInvocation:FindMethodId 
(string,string)
in <0x43> Qt.SmokeInvocation:FindMethod (string)
in <0x33b> Qt.SmokeInvocation:Invoke 
(System.Runtime.Remoting.Messaging.IMessage)
in <0x2e5> System.Runtime.Remoting.Proxies.RealProxy:PrivateInvoke 
(System.Runtime.Remoting.Proxies.RealProxy,System.Runtime.Remoting.Messaging.IMessage,System.Exception&,object[]&)
in <0xc73bd7df> (wrapper runtime-invoke) 
System.Object:runtime_invoke_object_RealProxy_IMessage_Exception&_object[]& 
(object,intptr,intptr,intptr)
in <0x4> (wrapper remoting-invoke) Qt.QApplication:NewQApplication (string[])
in <0xffffffc1> (wrapper remoting-invoke) Qt.QApplication:NewQApplication 
(string[])
in <0xffffff31> (wrapper remoting-invoke-with-check) 
Qt.QApplication:NewQApplication (string[])
in <0x19> Qt.QApplication:NewQApplication (string[])
in <0x23> Qt.QApplication:.ctor (string[])
in <0xffffffdd> (wrapper remoting-invoke-with-check) Qt.QApplication:.ctor 
(string[])
in <0x25> MainForm:Main (string[])
in <0xc7678b97> (wrapper runtime-invoke) 
System.Object:runtime_invoke_void_string[] (object,intptr,intptr,intptr)

Native stacktrace:

        mono(mono_handle_native_sigsegv+0xba) [0x81471da]
        mono [0x81354cf]
        [0xffffe440]
        /opt/kde3/lib/libqyoto.so(_ZN5Smoke10findMethodEPKcS1_+0x14) 
[0x40d8d982]
        /opt/kde3/lib/libqyoto.so(FindMethodId+0x1a) [0x40d8d1d6]
        [0x424e0a89]
        [0x424e08d4]
        [0x424db2ac]
        [0x40d782ce]
        [0x40d77bd5]
        mono [0x8135380]
        mono(mono_runtime_invoke+0x27) [0x80d42b7]
        mono(mono_remoting_invoke+0x4e) [0x80d6d4e]
        mono [0x80a97a7]
        [0x40d779ea]
        [0x40d77972]
        [0x40d7786a]
        [0x40d704e4]
        [0x40abd22a]
        [0x40abd1de]
        [0x40abc813]
        mono [0x8135380]
        mono(mono_runtime_invoke+0x27) [0x80d42b7]
        mono(mono_runtime_exec_main+0x5c) [0x80d513c]
        mono(mono_runtime_run_main+0x171) [0x80d4d61]
        mono(strftime+0x1b52) [0x805cb72]
        mono(mono_main+0x785) [0x805d485]
        mono(__fxstat64+0x12b) [0x805bf3b]
        /lib/tls/libc.so.6(__libc_start_main+0xd0) [0x4013fea0]
        mono(sinh+0x41) [0x805be91]


I don't know why this happens, I really didn't do ANYTHING on my system, I 
just started the program again and this was the result.


but now my sources:

using System;
using Qt;

class MainForm : QDialog
{
	public static void Main (string[] args)
	{
		Qt.QApplication qa = new Qt.QApplication(args);
		MainForm mf = new MainForm();
		mf.Show();
		qa.SetMainWidget(mf);
		qa.Exec();
	}
	
	public MainForm()
	{
		this.Show();
		QVBoxLayout qgrid = new QVBoxLayout(this);
		qgrid.SetAutoAdd(true);
		QTextEdit te = new QTextEdit(this);
		te.Show();
		QPushButton button = new QPushButton(this);
		button.SetCaption("Hello World!");
		button.Show();
	}
}


and the problem also occurs with some constructors with more than 1 argument.
-- 
Arno Rehn
arno at arnorehn.de



More information about the Kde-bindings mailing list