You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openoffice.apache.org by Yuri Dario <mc...@mclink.it> on 2012/06/15 18:56:36 UTC

OS/2 clipboard implementation not loaded

Hi,

in the OS/2 port, now the clipboard support is not working.

In services.rdb there is sysdtran.dll and its implementation name, but
AOO even doesn't try to load this dll, so this means that something 
different is happening.

OO 3.2 clipboard is working, so in 3.3/3.4 something has changed.

Can you help?

Thanks!

BTW my java issue is still open...

-- 
Bye,

	Yuri Dario

/*
 * OS/2 open source software
 * http://web.os2power.com/yuri
 * http://www.netlabs.org
*/



Re: OS/2 clipboard implementation not loaded

Posted by Yuri Dario <mc...@mclink.it>.
Hi,

> As on Windows,
> In vcl\source\window\window.cxx(8651)  in function Window::GetClipboard(),
> it will call to create service
> "com.sun.star.datatransfer.clipboard.SystemClipboard" .

I started debugging this call to see why it fails.

> In stoc\source\loader\dllcomponentloader.cxx(223) in function
> DllComponentLoader::activate(), it will load dll according to rLibName.
> In dtrans\source\win32\clipb\wcbentry.cxx(105) in function
> component_getFactory(), it will create the real service according to the
> pImplName.

I will look at these too, but I think the DLL must be loaded to be 
able to create the real service.

thanks!



-- 
Bye,

	Yuri Dario

/*
 * OS/2 open source software
 * http://web.os2power.com/yuri
 * http://www.netlabs.org
*/



Re: OS/2 clipboard implementation not loaded

Posted by Yuri Dario <mc...@mclink.it>.
Hi Lin,

> it will call to create service
> "com.sun.star.datatransfer.clipboard.SystemClipboard" .
> In stoc\source\loader\dllcomponentloader.cxx(223) in function
> DllComponentLoader::activate(), it will load dll according to rLibName.

debugging the code showed me that VCL was registering a 
X11ClipboardManager, so it was hiding the registration of SYSDTRANS. 
Now VCL component behaves like windows and clipboard started working 
magically :-))

thanks again for your help,



-- 
Bye,

	Yuri Dario

/*
 * OS/2 open source software
 * http://web.os2power.com/yuri
 * http://www.netlabs.org
*/



Re: OS/2 clipboard implementation not loaded

Posted by Lin Yuan <yu...@gmail.com>.
Seems my guess is not enough but I have no more idea.

Maybe we can add logs to some key functions or debug them to get more info.
As on Windows,
In vcl\source\window\window.cxx(8651)  in function Window::GetClipboard(),
it will call to create service
"com.sun.star.datatransfer.clipboard.SystemClipboard" .
In stoc\source\loader\dllcomponentloader.cxx(223) in function
DllComponentLoader::activate(), it will load dll according to rLibName.
In dtrans\source\win32\clipb\wcbentry.cxx(105) in function
component_getFactory(), it will create the real service according to the
pImplName.
So if we know if those functions is called we may know which part have
issue.

2012/6/19 Yuri Dario <mc...@mclink.it>

> Hi Lin,
>
> > For a quick check if this is the real root cause, just change
> > dtrans\source\os2\clipb\Os2Clipboard.hxx(43) from
> > #define OS2_CLIPBOARD_IMPL_NAME
> > "com.sun.star.datatransfer.clipboard.Os2Clipboard"
> > to
> > #define OS2_CLIPBOARD_IMPL_NAME
> > "com.sun.star.datatransfer.clipboard.ClipboardW32"
>
> this had been already done, but it is not enough.
>
> other ideas?
>
> thanks!
>
> --
> Bye,
>
>        Yuri Dario
>
> /*
>  * OS/2 open source software
>  * http://web.os2power.com/yuri
>  * http://www.netlabs.org
> */
>
>
>

Re: OS/2 clipboard implementation not loaded

Posted by Yuri Dario <mc...@mclink.it>.
Hi Lin, 

> For a quick check if this is the real root cause, just change
> dtrans\source\os2\clipb\Os2Clipboard.hxx(43) from
> #define OS2_CLIPBOARD_IMPL_NAME
> "com.sun.star.datatransfer.clipboard.Os2Clipboard"
> to
> #define OS2_CLIPBOARD_IMPL_NAME
> "com.sun.star.datatransfer.clipboard.ClipboardW32"

this had been already done, but it is not enough.

other ideas?

thanks!

-- 
Bye,

	Yuri Dario

/*
 * OS/2 open source software
 * http://web.os2power.com/yuri
 * http://www.netlabs.org
*/



Re: OS/2 clipboard implementation not loaded

Posted by Lin Yuan <yu...@gmail.com>.
I guess it may related to that in OO 3.3, the UNO component
registrationmechanism is changed to passive
registration.
According to the dtrans\util\makefile, the OS2 and Windows platform
all use dtrans\util\sysdtrans.component
to register the SystemClipboard service. But in it, only Windows' service
name is defined. So need add a new service definition for OS2 or use
different .compnent file for OS2 and Windows platform.
For a quick check if this is the real root cause, just change
dtrans\source\os2\clipb\Os2Clipboard.hxx(43) from
#define OS2_CLIPBOARD_IMPL_NAME
"com.sun.star.datatransfer.clipboard.Os2Clipboard"
to
#define OS2_CLIPBOARD_IMPL_NAME
"com.sun.star.datatransfer.clipboard.ClipboardW32"
If this work, we can make sure the root cause.

The UNO component registration in OO3.3 can be found on bugzilla:
https://issues.apache.org/ooo/show_bug.cgi?id=114609
And the technical doc can be found in
http://wiki.services.openoffice.org/wiki/Passive_Component_Registration


2012/6/16 Yuri Dario <mc...@mclink.it>

> Hi,
>
> in the OS/2 port, now the clipboard support is not working.
>
> In services.rdb there is sysdtran.dll and its implementation name, but
> AOO even doesn't try to load this dll, so this means that something
> different is happening.
>
> OO 3.2 clipboard is working, so in 3.3/3.4 something has changed.
>
> Can you help?
>
> Thanks!
>
> BTW my java issue is still open...
>
> --
> Bye,
>
>        Yuri Dario
>
> /*
>  * OS/2 open source software
>  * http://web.os2power.com/yuri
>  * http://www.netlabs.org
> */
>
>
>