W dniu 02.01.2011 23:21, Michael Van Canneyt pisze:
On Sun, 2 Jan 2011, dib...@wp.pl wrote:
Hi,
Month ago I posted a bug (http://bugs.freepascal.org/view.php?id=18117)
Admin give me solution and feedback, but this solution doesn't work
well and i think he don't read my last comment.
So, maybe someone have this same problem. There is good demo for
d-bus rewrited line by line from official C example. It works fine,
but this is console demo. This demo listen for signals in main loop.
In GUI application, this example blocks user interface. I received a
solution to use Application.OnIdle event for check for signal. It
works, but not detect all signals. If host send 10 this same signals,
my application detect only 4-6.
This problem raise after upgrade d-bus interface from 0.92 to 1.2.16
two months ago. Previously, I could use timers and threads for
listening signals.
The admin (me) did see your comment but didn't find time yet to
investigate the problem in great length :)
However, it seems that Henry Vermaak gave you a solution. I am glad he
did, because I have written a complete set of D-BUS components which I
was about to publish, and they would suffer from the same problem when
used in a GUI app.
So now I know that I should create an integration with the Lazarus
message loop.
Michael.
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
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.
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.
Regards
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal