2011.11.07. 23:42 keltezéssel, Gerardo Gómez írta:
Hello Ariel.
the underlying issue is in LoginPanel.fillCredentials():
this.getUserNameTextField().
setText(creditionals.getUserName());
creditionals.getUserName() returns null. You should check if this is a bug
or the expected behaviour (no OOo API bug in either case).
I'm agree with you, it is more a fillCredentials() problem, it would be
better to construct the credentionals.userName as an empty string instead
of a null one. But because it was (at least), an enhancement, i was only
"replicating" the effect.
I've Uploaded in my GitHub account, the .oxt (the extension itself), so
everybody who wants, could test it. As far as i've tested, it seems that in
linux and windows the extension works great.
I added your extension 0.0.1 version, downloaded today, tested under
win7, to OOo 3.3 and OOo 3.4Beta(oracle), and AOOo 3.4.
Java versions selected: 1.6.0_27 (and same with java 1.6.0_18):
I get same error from all versions, I copied here as I get from debug
version of AOOo 3.4 messages.
When clicked on "configure" button:
---------------------------
Debug Output
---------------------------
Error: UnoWrapper::SetWindowInterface: there already *is* a
WindowInterface for this window!
From File y:/apache/trunk/main/toolkit/source/helper/unowrapper.cxx at
Line 186
Abort ? (Yes=abort / No=ignore / Cancel=core dump)
---------------------------
Igen Nem Mégse
---------------------------
Second:
---------------------------
Debug Output
---------------------------
Error: VCLXToolkit::createWindow: did #133706# resurge?
From File y:/apache/trunk/main/toolkit/source/awt/vclxtoolkit.cxx at
Line 1138
Abort ? (Yes=abort / No=ignore / Cancel=core dump)
---------------------------
Igen Nem Mégse
---------------------------
Third:
---------------------------
Debug Output
---------------------------
Error: [jni_uno bridge error] Java calling UNO method setText:
[map_to_uno():string] null-ref given!
java stack trace:
at com.sun.star.bridges.jni_uno.JNI_proxy.dispatch_call(Native Method)
at com.sun.star.bridges.jni_uno.JNI_proxy.invoke(JNI_proxy.java:175)
at $Proxy33.setText(Unknown Source)
at util.OoTextField.setText(OoTextField.java:50)
at
org.openoffice.gdocs.ui.dialogs.ConfigDialog.<init>(ConfigDialog.java:157)
at org.openoffice.gdocs.UNOGDocs$1.run(UNOGDocs.java:104)
at java.lang.Thread.run(Thread.java:619)
From File Y:/apache/trunk/main/bridges/source/jni_uno/jni_java2uno.cxx
at Line 633
Abort ? (Yes=abort / No=ignore / Cancel=core dump)
---------------------------
Igen Nem Mégse
---------------------------
When I clicked on "Export to Google docs":
---------------------------
Debug Output
---------------------------
Error: [jni_uno bridge error] Java calling UNO method setText:
[map_to_uno():string] null-ref given!
java stack trace:
at com.sun.star.bridges.jni_uno.JNI_proxy.dispatch_call(Native Method)
at com.sun.star.bridges.jni_uno.JNI_proxy.invoke(JNI_proxy.java:175)
at $Proxy33.setText(Unknown Source)
at util.OoTextField.setText(OoTextField.java:50)
at
org.openoffice.gdocs.ui.LoginPanel.fillCredentials(LoginPanel.java:179)
at
org.openoffice.gdocs.ui.LoginPanel.readCreditionals(LoginPanel.java:202)
at org.openoffice.gdocs.ui.LoginPanel.setSystem(LoginPanel.java:212)
at
org.openoffice.gdocs.ui.dialogs.UploadDialog.<init>(UploadDialog.java:181)
at org.openoffice.gdocs.UNOGDocs$2.run(UNOGDocs.java:231)
at java.lang.Thread.run(Thread.java:619)
From File Y:/apache/trunk/main/bridges/source/jni_uno/jni_java2uno.cxx
at Line 633
Abort ? (Yes=abort / No=ignore / Cancel=core dump)
---------------------------
Igen Nem Mégse
---------------------------
I hope this help you.
Zoltan
On Mon, Nov 7, 2011 at 3:41 PM, Ariel Constenla-Haile<
[email protected]> wrote:
Hello Gerardo,
On Mon, Nov 07, 2011 at 02:25:40PM -0600, Gerardo Gómez wrote:
I have addressed my problem with the null ref, it was due to assigning to
xText.setText, a null string, i only added an if:
public void setText(String text){
if (text != null)
this.xTextComponent.setText(text);
}
another option:
public void setText( String text ) {
this.xTextComponent.setText( text == null ? "" : text );
}
an empty string will clear the text field (a null string will crash
OOo). May be clearing the text field is the desired effect when you get
a null string reference.
I'm not really happy with this solution, but it seams to work good, so
until i don't find any other solution i will keep it this way.
the underlying issue is in LoginPanel.fillCredentials():
this.getUserNameTextField().setText(creditionals.getUserName());
creditionals.getUserName() returns null. You should check if this is a bug
or the expected behaviour (no OOo API bug in either case).
Thank you for your help Ariel.
You're welcome.
Nice to see you took the work to convert the Java dialogs to UNO awt. We
all know it's a lot of extra code, but a nicer integration with OOo UI.
Regards
--
Ariel Constenla-Haile
La Plata, Argentina