Openmoko Bug #1549: [exposure] want to launch exposure again while it is in the e-illume bar, need 5~10 sec
Openmoko Public Trac
bugs at docs.openmoko.org
Sun Jul 20 17:51:49 CEST 2008
#1549: [exposure] want to launch exposure again while it is in the e-illume bar,
need 5~10 sec
------------------------+---------------------------------------------------
Reporter: wendy_hung | Owner: marek
Type: defect | Status: assigned
Priority: normal | Milestone: ASU
Component: E - Illume | Version:
Severity: normal | Resolution:
Keywords: must have | Blocking:
Blockedby: |
------------------------+---------------------------------------------------
Comment(by raster):
1. the bar. that is not in exposure's control. it is the same as a
"Taskbar" - it's a window manager list and it lists all windows - u select
one and e show/brings to the front and focuses the window. that works
reliably all the time for all apps. (it could be that exposure is not
RESPONDING and not REDRAWING its UI). you know that the window is up but
not responding by doing this:
1. start from home
2. select "Exposure" from the illume bar
3. try click on the visible "icons". if they dont respond - it's just
framebuffer garbage you have and exposure is up, but not responding.
2. as for activate() every time i try run exposure while it's already
running (ie run from launcher), it NEVER comes oup. it's a 100% failure
rate for me. i wrote a test app in c that uses the ecore_evas_activate()
call and it works - 100% of the time.
i think it's python and/or the way you use it. first - threads. i have no
idea how python does this, but i'd say remove the threads. EFL is NOT
threadsafe. even if its not real "pthreads" under python's threads , you
are asking for trouble and "bizarre bugs" that some can reproduce, others
can not and only happen sometimes or are erratic. from what i see in app-
launcherd.py your problem probably is that the client thread is running
the main loop, BUT yu call the focus() call FROM the app-launcherd main
thread/loop. this alone would explain it as you are just lucky you don't
crash. that call will write data to the FD that is your unix socket
connection to X - and X buffers these - xlib does, and until the mainloop
of the client thread does something to somehow force the buffer to flush -
which it may never do if no timers or anything are active, the command
will never be sent to X.
so as such... you'll fix the problem if you remove threading.
:)
--
Ticket URL: <https://docs.openmoko.org/trac/ticket/1549#comment:8>
docs.openmoko.org <http://docs.openmoko.org/trac/>
openmoko trac
More information about the buglog
mailing list