This patch finally fixes bug 827888 were a message's reply was
received before the respective handler function could be installed.
The patch adds the class DBusConnectionSendWithReplyTask, which
asyncronously sends a DBus message and installs the reply's handler
function. The DBus utility functions for asyncronous messages create
an instance of this class and dispatch it to the DBus thread. This
intercepts the DBusPollTask, so no DBus replies can be received until
the dispatched DBusConnectionSendWithReplyTask has finished.
The new function allows to schedule nsRunnables to an existing DBus
thread. This intercepts the running instance of DBusPollTask and
makes the DBus thread process the dispatched runnable. The intercepted
poll task automatically continues polling once all pending runnables
have been processed.
This patch replaces the DBus EventLoop function by an instance
of DBusPollTask. It also cleans up the initialization and shutdown
code of the DBusThread.
This patch adds class DBusPollTask. The DBusPollTask class is an
nsRunnable for receiving DBus messages. It is intended to run in
a separate thread that is dedicated to DBus only.
The Run function of the poll task resembles the DBus EventLoop
function, but allows to intercept execution in favor of other
nsRunnables. Afterwards the DBusPollTask continues.
We intent to run the DBus thread's EventLoop function as separate
nsRunnable, but the function also contains code for initializing
sockets that are used for internal communication.
With this patch the socket initialization has been moved to the
setup function. This reduces the EventLoop function to plain event
handling.
MMS sending has been failing because often the default network route was
not going through the MMS APN. This commit adds specific host route via
the correct network interface for either MMSC or MMS proxy depending on
the carrier information. We also perform DNS resolution to cope with
MMSC/proxy that are using FQDN.
This seems to be a slightly better heuristic to follow the CSS Rendering code
in all cases, since the background color for the body element often overrides
that of the html element.
--HG--
extra : rebase_source : 6c0dba10c1ac4f08914632179e15c13c2ff271aa
In nsRuleNode, when we parse a number of columns from a CSS style sheet, we enforce
a rule that the number of columns cannot exceed 1000. This patch simply enforces
the same rule when we decide that the column count will be generated based on
the available width (e.g. the column-count property has a value of 'auto').
In 32bit builds, Value does not have the same size as void*; thus, we cannot do
a simple address comparison in this case.
--HG--
extra : rebase_source : 1dfb86965c1aa873c26660b67d9add0d5d0a91d7