On Thu, 13 Jan 2011, dib...@wp.pl wrote:
W dniu 10.01.2011 20:41, Michael Van Canneyt pisze:
On Mon, 10 Jan 2011, dib...@wp.pl wrote:
Sorry for refreshing, but the problem is still present :( . It works
perfect on my mashine (ubuntu 10.10 64 bit) but doesn't work on my friends
computer. For example, one of my friend have this same laptop as me and
exactly this same version of ubuntu (64 bit too). My application find
signals only when he moving mouse cursor over main form (on idle event is
fired in which I check for signals too). It looks like method
dbus_connection_set_wakeup_main_function doesn't register wake up function
properly. This is procedure, not function so I don't even know if there
was error.
That can of course be, but this is not under our control.
I copy source of my program to ubuntu 10.10 32bit on my virtual mashine
and compile on latest SVN version of lazarus (like on 64 bit ubuntu). This
same problem. I debug this and wake up function is never called in client
when dbus host send signals. I have no idea why on 64 bit (and only on my)
it works ok. Some external library is responsible for this? All computers
are upgraded to latest version, so we have this same dbus library.
Do they run the same desktop ?
Can you please provide testprograms (client and server) so I can run some
tests ?
Michael.
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Did you receive my mailwith demo?
Yes, I even debugged some things, but found no solution yet.
I think I found temporary solution. In
glib2 is procedure: g_main_context_set_poll_func(g_main_context_default,
@CheckForSignalProc);
It seems that application main loop call registered CheckForSignalProc on
each loop cycle without blocking user interface and it works. But I do not
know if I understand the documentation:
I'm not sure I understand what you did ?
"Sets the function to use to handle polling of file descriptors. It will be
used instead of the |poll()| system call (or GLib's replacement function,
which is used where |poll()| isn't available).
This function could possibly be used to integrate the GLib event loop with an
external event loop."
"integrate the GLib event loop with an external event loop" - I think this is
what I want.
My concerns:
1. How does it affect to performance? Is it too often calledfor dbus?
2. Glib is most used by GTK. Will this work when I compile project with QT
interface for KDE? (my future plans). I do not want to force users to install
whole GTK librarys when they areusing only QT
g_main_context_set_poll_func is only used for the GTK widget set.
You'll have to test separately with Qt.
Michael.
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal