Nux

lp:~brandontschaefer/nux/lp.1157879-fix

Created by Brandon Schaefer and last modified
Get this branch:
bzr branch lp:~brandontschaefer/nux/lp.1157879-fix
Only Brandon Schaefer can upload to this branch. If you are Brandon Schaefer please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Brandon Schaefer
Project:
Nux
Status:
Merged

Recent revisions

769. By Brandon Schaefer

* Use Xlib.h False vs other defined FALSE.

768. By Brandon Schaefer

* A race condition can arrive if a window is quickly focused then unfocused if
  the X event buffer isn't flushed. As the focus event will come through a bit
  after the unfocus, causing focus issues.

767. By Brandon Schaefer

When the Geometry has changed in TextEntry QueueRefresh to Reset the Layout. Fixes: https://bugs.launchpad.net/bugs/1157329.

Approved by PS Jenkins bot, Marco Trevisan (Treviño).

766. By Marco Trevisan (Treviño)

Area: avoid unneeded allocation on SetGeometry.

Approved by PS Jenkins bot, Andrea Azzarone.

765. By PS Jenkins bot

Releasing 4.0.0daily13.03.13.1-0ubuntu1 to ubuntu.

Approved by PS Jenkins bot.

764. By Marco Trevisan (Treviño)

GraphicsDisplayX11: set the x11 timestamp on ButtonPress event. Fixes: https://bugs.launchpad.net/bugs/1154101.

Approved by PS Jenkins bot, Andrea Azzarone.

763. By PS Jenkins bot

Releasing 4.0.0daily13.02.26-0ubuntu1 to ubuntu.

Approved by PS Jenkins bot.

762. By Sam Spilsbury

Skip the composition key tests if the server doesn't support it so that
we don't SIGABRT when trying to use that functionality (LP: #1112321). Fixes: https://bugs.launchpad.net/bugs/1112321.

Approved by Brandon Schaefer.

761. By Sam Spilsbury

Implement a message-passing system in nux::WindowThread and nux::ProgramFramework.

This makes it possible to define and implement protocols for WindowThreads to
communicate with each other in a thread-safe way without having to resort to
using window system events or the like.

New file descriptors can be added for watching with a watch-callback executed
inside the window thread with nux::WindowThread::WatchFdForEvents. Only
read-data is supported right now.

When there is new data available to be read, the provided FdWatchCallback will
be called by the window thread, and executed inside the window thread. From
there, clients can safely modify data contained by the WindowThread object.

Remove a watched file descriptor with UnwatchFd.

It is safe to add file descriptors for watching during the call to the provided
ThreadUserInitFunc in CreateGUIThread. This is because the main loop
implementation must be created before those file descriptors are added for
watching (particularly in the case of GLib, because nux::WindowThread::InitGlibLoop
will use the default GMainContext the first time it is called, and then create
a new one for each window thereafter.

Added three new tests to demonstrate and cover this functionality.

[==========] Running 3 tests from 1 test case.
[----------] Global test environment set-up.
[----------] 3 tests from TestWindowThread
[ RUN ] TestWindowThread.WatchFd
[ OK ] TestWindowThread.WatchFd (3213 ms)
[ RUN ] TestWindowThread.MultiWatchFd
[ OK ] TestWindowThread.MultiWatchFd (3163 ms)
[ RUN ] TestWindowThread.OneFdEvent
[ OK ] TestWindowThread.OneFdEvent (3155 ms)
[----------] 3 tests from TestWindowThread (9532 ms total)

[----------] Global test environment tear-down
[==========] 3 tests from 1 test case ran. (9532 ms total)
[ PASSED ] 3 tests.

Fixed segfaulting test xtest-text-input. That test unsafely mutated object
state contained by the WindowThread running in another thread inside of the
test thread. This resulted in a null pointer dereference because it had a
side effect of calling nux::GetWindowThread () which relies on up-to-date
thread-local-storage. That test now defines a protocol to communicate to
the running program to mutate the relevant state, and then communicate back
when it has completed execution.

(LP: #1097281)
. Fixes: https://bugs.launchpad.net/bugs/1097281.

Approved by Brandon Schaefer.

760. By PS Jenkins bot

Releasing 4.0.0daily13.02.19-0ubuntu1 to ubuntu.

Approved by PS Jenkins bot.

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
lp:nux
This branch contains Public information 
Everyone can see this information.

Subscribers