Age | Commit message (Collapse) | Author |
|
RevBy: Stanislav Ionascu
|
|
RevBy: Armin Berres
Details:
Use a custom message handler for the mthemedaemon so it will only print
messages to the stderr and make it's default output level to be
critical on ARM and warning on i386.
|
|
|
|
else is specified
RevBy: Michael Dominic Kostrzewa
Details:
Sharing the meego graphicssystem way does not work right now. Let us use
the well working way with X pixmaps for the moment.
|
|
RevBy: Armin Berres
Details:
Use intermediate sockets and write notifications to avoid calling Qt code from unix signal handlers.
|
|
RevBy: Stanislav Ionascu
Details:
Qt forces the meego graphcissystem for non-MTF Qt apps.
The themedaemon fails then to work as QPixmaps are no
X pixmaps.
|
|
RevBy: Michael Dominic K., Stanislav Ionascu, Daniel d'Andrada, Tomas Junnonen
Details:
The meego graphicssystem does not need a QGLWidget anymore
to do hardware rendering. The QGLContext will be created automatically
behind the scenes. Therefor when running with the meego graphcissystem
the QGLWidget will not be created anymore. If the native
graphicssystem is used everything works as before.
Before theme assets have been shared between themedaemon and clients
via X handles. With the meego graphicssystem a new way of sharing is
introduced. A shared QPixmap will be backed up by two images: One
texture used for hardware rendering and one so called soft image used
if the pixmap us used for software rendering. The texture will be
shared via a gl extension between the processed, the image is shared
via shared memory.
Ordinary pixmaps are not backed up by XPixmaps anymore, they will use
raster now.
|
|
RevBy: Armin Berres
Details: Helps to debug the asynchronous image loading
|
|
RevBy: Holger Schröder
Details:
The remote themedaemon keeps statistics about the most used
pixmaps and preloads them at app startup.
So far the local themedaemon also did this. This means every
app started e.g. in scratchbox where no necessarily a themedaemon
is running started to preload pixmaps. Apart from that different
apps would simply override the stats of other running apps.
|
|
RevBy: Armin Berres
Details:
The purpose of MThemeResourceManager has been to improve the performance
of SVG-loading by reusing existing SVG renderer instances. But keeping
the SVG renderer instances for some time leads to a very dynamic
allocation of the memory and some fragmentation. So even after all SVG
renderer instances have been deleted, the dirty memory of the themedaemon
is very high. As the SVGs get cached anyhow in the meantime, this kind of
performance optimization can be dropped now in favor of the memory demand.
|
|
RevBy: Sergiy
Details: Added proper error packet handling and timeout for synchronous/copy pixmap requests.
Error packets was not handled properly in MRemoteThemeDaemon. This caused MTheme::copyPixmap()
method to freeze (wait infinite time) because only valid replies to the requests was handled
and in some cases only error packet got sent as a reply.
|
|
Details: configure notes libgconf as an optional dependency, yet a number of
parts of the build system did not check DEFINES for USE_GCONF before building
gconf-related code, meaning it effectively *wasn't* optional.
|
|
'MThemeDaemonServer::clientDisconnected MThemeDaemonServer::qt_metacall QMetaObject::metacall QMetaObject::activate'
RevBy: Armin Berres
Details: Disconnect signals from client sockets, when destroying server.
|
|
RevBy: Jörgen
Details:
Themedaemon does not abort anymore when it cannot write to the cache
directory. Now it simply prints relatively verbose error messages.
Writing to the cache is crucial for performance but there is no reason
to completely refuse to work.
|
|
RevBy: Jörgen
Details:
Can used by the theme to notify the themedaemon about
an update.
|
|
don't fail if no themedaemon has been started already
RevBy: Armin Berres
|
|
qt_message_output qt_message qFatal'
RevBy: Tomas Junnonen, Sergiy Dubovik
Details: Create theme cache directories a bit more intelligently and output more accurate
information when running into troubles.
|
|
RevBy: Peter
Details:
So far the themedaemon loads pixmaps based on a first come first
serve base. When a bunch of applications request of lot of pixmaps,
this happens e.g. at startup or during a theme change it is pure
pure chance which item is loaded first. In the worst case an
invisible background application receives its pixmaps before the
forground application.
With this commit all pixmap requests have a priority. The highest
priority have currently visible applications, the lowest one pre-
started ones. Invisible not prestarted applications come in
between. Additionally via a conf file a set of applications be be
specified which have a fixed priority. Right now the forground
app has a priority of 100, sysuid 90, duihome = 80,
meego-im-uiserver 70. This means they will be updated before the
invisible applications which have a priority of 0. Change
themedaemonpriorities.conf if other values are needed.
|
|
RevBy: Armin
Details: Do not send theme change packets to the booster from the
theme daemon. The booster is not sitting in an event loop,
and consequently will not reply to such messages.
The identification of the booster is now done by using a magic
name, which is ugly. Optimally, the theme protocol should
be augmented so that the booster could identify itself by
sending a booster specific registration packet.
Tested on device against 0.20.27-1.
|
|
theme change finished
RevBy: Tomas Junnonen
Details: Destroy pixmap resources and send ThemeChangeFinishedPacket also when the theme change
timeout is encountered or when a blocking application is disconnected.
|
|
RevBy:
TrustMe
|
|
RevBy: TrustMe
Details:
The stress test did not work anymore. I updated the used themes and
ported it to use MRemoteThemeDaemon instead of an own implementation.
Not all problems are fixed yet, when multiple clients are running
sometimes the themedaemon and the clients get slightly out of sync
for a short timeframe.
|
|
RevBy: Peter Penz
Details: When a client changed its application name it left dangling pointers
behind. Now it waits until the needed themechange is complete and the memory
can be safely freed. Also if the package has been received but nothing changed
it is ignored.
|
|
RevBy: Peter Penz
Details:
The themedaemon keeps internally a list of most used pixmaps which
are always hold in memory. When a client requests a pixmap from this
list the pixmap can be returned faster. Ideally the client would
not have to query the themedaemon at all but just know about the
handles if the most used pixmaps. With this commit the themedaemon
sends the handles of the most used pixmaps to the clients when they
register and keeps them up to date if the list of most used pixmaps
changes.
If a client uses one of these pixmaps it notifies the themedaemon so
it can keep statistics about most used pixmaps up to date.
|
|
available anymore
RevBy: Janne, Armin
|
|
RevBy: Armin
Details: Added timeout for defining how long the MThemeDaemonServer waits for replies to the theme change packets.
Added also some more warning outputting to see which applications are not replying to the theme change request in time.
|
|
RevBy: Juha Lintula
Details:
Application name change after launching boosted application was
not propagated to the theme daemon. Therefore application-specific
graphics that were supposed to be fetched from the daemon did not
work. This commit fixes the issue.
|
|
RevBy: TuomasK
Details: some icons has changed the name, old invalid IDs stayed in code and sometimes cause problems..
|
|
once
RevBy: Tomas Junnonen
Details: If an invalid theme gconf value is inputted the mthemedaemon does not forcefully change
it to valid one, but silently falls back to use the default theme. Implemented functionality for
changing theme even though previous theme change is still in process. The new theme is applied
after the previous change is completed.
|
|
Fixes: NB#171458 - Need a signal to detect when the theme change is complete
RevBy: Tomas Junnonen
Details: This patch adds a delayed pixmap deletion, so that the applications
have time to refresh their graphics first. Applications will send a message to
the daemon when they have finished theme change. When all applications have sent
this message, the daemon will delete the pixmaps and broadcast theme-change-completed
packet.
MTheme::themeChangeCompleted() signal has been added.
|
|
RevBy: John Tapsell, Esko Oramaa, Ville Voutilainen
Details:
You are not allowed to read from a QIODevice with operator<< without beeing sure
that the bytes you want to read are actually available. This commit adds the
necessary checks and waits for data if needed.
It was just pure luck that the current solution was working at all. Not all request
were succeeding, we just did not notice the failing ones so far.
|
|
depending on meegotouch"
This reverts commit 79b37e5b3b5d201aeac0a0a1a65be4ce80869452.
|
|
RevBy: Tomas
Details: The PKGCONFIG directives in mthemedaemon's .pro file didn't add the right
linker flags, leading to missing symbols for both g_object_unref and XSync.
This commit adds PKGCONFIG checks on gobject-2.0 and x11, fixing that problem.
|
|
meegotouch
RevBy: Holger Schröder, Tomas
Details: Right now every application has to enable the fast string operations on
their own. As libmeegotouch does heavy use of string enabling this flag
really makes sense.
With this commit it is not needed anymore that every depending app sets the
flag on their own.
|
|
RevBy: TrustMe
Details: A given list of pixmap ids and respective sizes is requested
from the remote and the local themedaemon. The time until the pixmap
is available is measured.
|
|
RevBy: Tomas
|
|
RevBy: TrustMe
|
|
By: Holger, Daniel, Janne
RevBy: Tomas, Holger
|