Merge lp:qtmir/devel-mir-next into lp:qtmir

Proposed by Cemil Azizoglu
Status: Superseded
Proposed branch: lp:qtmir/devel-mir-next
Merge into: lp:qtmir
Diff against target: 0 lines
To merge this branch: bzr merge lp:qtmir/devel-mir-next
Reviewer Review Type Date Requested Status
PS Jenkins bot (community) continuous-integration Approve
Mir development team Pending
Review via email: mp+245592@code.launchpad.net

This proposal has been superseded by a proposal from 2015-02-02.

Commit message

Rebuild for Mir 0.10.

Description of the change

Rebuild for Mir 0.10.

To post a comment you must log in.
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
lp:qtmir/devel-mir-next updated
297. By Nick Dedekind

Compatibility for Mir 0.10.0
Approved by: Gerry Boland, Cemil Azizoglu

298. By Cemil Azizoglu

Rebuild for Mir 0.10.
Approved by: PS Jenkins bot

299. By CI Train Bot <${CITRAIN_USER}@canonical.com>

Releasing 0.4.4+15.04.20150108.1-0ubuntu1

300. By Nick Dedekind

Notify prompt sessions that sessions have been suspended/resumed. Fixes: #1355173, #1384950
Approved by: Gerry Boland, PS Jenkins bot

301. By CI Train Bot Account

Releasing 0.4.4+15.04.20150109-0ubuntu1

302. By Gerry Boland

Depend on :native version of g++ to allow cross-compiling to work. Fixes: #1353855
Approved by: Michał Sawicz

303. By Michał Sawicz

Declare the QByteArray in callDispatcher so it doesn't get deleted before it's copied. Fixes: #1408819
Approved by: Gerry Boland, PS Jenkins bot

304. By Josh Arenson

Assign touch events area to the correct values.

Fixes lp:1389189 Fixes: #1389189
Approved by: Gerry Boland, PS Jenkins bot

305. By Albert Astals Cid

Move the creation of the surface observer to SessionListener::surface_created

Otherwise we may lose some frame_posted calls if we delay it (it was run in a different thread), meaning that if the app doesn't paint anything else qtmir will think that nothing was yet drawn showing the splash screen forever.

Approved by: Gerry Boland, PS Jenkins bot

306. By CI Train Bot Account

Releasing 0.4.4+15.04.20150114-0ubuntu1

307. By Ricardo Mendoza

Reduce suspend timeout to half of the previous value because the long value was too apparent on fast paced apps, like web games of music players; it broke the user experience according to design. Fixes: #1402650
Approved by: Gerry Boland, PS Jenkins bot

308. By Gerry Boland

Add Wakelock support - ensures device drops to deep-sleep mode only when all AppMan suspend tasks have completed

Implemented like so:
 - SharedWakelock manages a single wakelock instance, allowing multiple owners to keep the wakelock enabled, only releasing it when all owners have released it.
- Wakelock operates by communicating with PowerD
- the Application class decides whether a wakelock is necessary, based on the process' lifecycle state.
- added a mighty bunch of tests Fixes: #1309915
Approved by: Michael Zanetti, PS Jenkins bot

309. By CI Train Bot Account

Releasing 0.4.4+15.04.20150115-0ubuntu1

310. By Gerry Boland

Explicitly setting GL-mode breaks GTK app rendering. Removing the hack appears to just work Fixes: #1401968
Approved by: Michał Sawicz, Stephen M. Webb, PS Jenkins bot

311. By Michał Sawicz

Add moot autopkgtest to run the standard unit tests

312. By Albert Astals Cid

Fix demo shell import name
Approved by: Gerry Boland

313. By Daniel d'Andrada

Don't suspend&resume the main stage app when switching focus from side to main stage
Approved by: Gerry Boland, PS Jenkins bot

314. By CI Train Bot Account

Releasing 0.4.4+15.04.20150206-0ubuntu1

315. By Alan Griffiths

Port to the msh::Shell API in Mir
Approved by: Alberto Aguirre, Gerry Boland

316. By Daniel van Vugt

QtMir changes required to support the Mir branch of the same name. Landing soon. Fixes: #1395581
Approved by: Gerry Boland

317. By Robert Carr <racarr@ocelot>

Bump build-dep to mir 0.11.

318. By CI Train Bot Account

Releasing 0.4.4+15.04.20150209-0ubuntu1

319. By Timo Jyrinki

No-change rebuild against Qt 5.4.0.

320. By Albert Astals Cid

Don't start timer from the thread it doesn't belong to

Qt doesn't like it Fixes: #1422898

321. By CI Train Bot Account

Releasing 0.4.4+15.04.20150220-0ubuntu1

322. By Kevin DuBois

No change rebuild for mir 0.12
Approved by: PS Jenkins bot

323. By CI Train Bot Account

Releasing 0.4.4+15.04.20150227.1-0ubuntu1

324. By Albert Astals Cid

Make the test pass with Qt >= 5.4.1 Fixes: #1427529
Approved by: Michał Sawicz, Gerry Boland, PS Jenkins bot

325. By CI Train Bot Account

Releasing 0.4.4+15.04.20150317-0ubuntu1

326. By Robert Carr

Port to the new MirEvent API and add support for pointer events.

As when accessing events through the new API pointer events will not present as touch events and not adding the new support would have introduced a regression. Fixes: #1392716, #1417650
Approved by: Daniel d'Andrada, Gerry Boland

327. By Gerry Boland

Refactor wakelock handling. Lifecycle exempt apps now release wakelock when shell tries to suspend them

The previous Wakelock RAII design was faulty as it was wrapping an asynchronous service. It made it possible for wakelocks to be acquired and not be released.

This refactors SharedWakelock to hold a single instance of Wakelock, and Wakelock always holds a DBus connection.

Testing now includes testing the DBus calls are actually emitted.

Adds dependency on libqtdbusmock1-dev and libqtdbustest1-dev Fixes: #1423787
Approved by: Michael Zanetti, PS Jenkins bot, Albert Astals Cid

328. By CI Train Bot Account

Releasing 0.4.4+15.04.20150318-0ubuntu1

329. By Gerry Boland

Remove boost dependence, it supplies almost nothing of benefit to offset its cost
Approved by: Daniel d'Andrada, PS Jenkins bot

330. By Gerry Boland

Remove legacy surface configuration change code, use newer SurfaceObserver
Approved by: Daniel d'Andrada, PS Jenkins bot

331. By Michael Zanetti

read exception list from gsettings instead of a hardcoded list
Approved by: Gerry Boland, PS Jenkins bot

332. By Daniel d'Andrada

When synthesizing touch releases for absent touches, send them in separate events

As there can be only one touch pressed or released per event. Fixes: #1437357
Approved by: Gerry Boland, PS Jenkins bot

333. By Michał Sawicz

Require an application API version, fix the provided version and use include dir from the .pc file
Approved by: Gerry Boland, PS Jenkins bot

334. By Albert Astals Cid

Fix debug line

Approved by: Gerry Boland

335. By Gerry Boland

Remove useless profiling information, fixes build with Qt5.5 Fixes: #1437181
Approved by: Timo Jyrinki, Albert Astals Cid, PS Jenkins bot

336. By Gerry Boland

If Mir fails to start, exit the process immediately as nothing else can be done

Note, QCoreApplication::quit() does nothing as no event loop has been started yet
Approved by: Daniel d'Andrada, PS Jenkins bot

337. By CI Train Bot Account

Releasing 0.4.4+15.04.20150511.1-0ubuntu1

338. By Daniel van Vugt

Release in step with Mir 0.13.0
Approved by: Gerry Boland

339. By CI Train Bot Account

Releasing 0.4.4+15.04.20150513-0ubuntu1

340. By Daniel d'Andrada

X-Ubuntu-Supported-Orientations and X-Ubuntu-Rotates-Window-Contents desktop entries

With the corresponding ApplicationInfo.supportedOrientations and
ApplicationInfo.rotatesWindowContents properties

MirSurfaceItem was also changed to hold an orientationAngle instead
of an orientation as that maps directly to the corresponding
Mir surface property, making the whole thing easier/simpler. Fixes: #1379777
Approved by: Gerry Boland, Michał Sawicz

341. By CI Train Bot Account

Releasing 0.4.5+15.10.20150611-0ubuntu1

342. By Timo Jyrinki

No-change rebuild against Qt 5.4.2.

343. By Michał Sawicz

Depend on same-version qtmir-{desktop,android}
Approved by: Gerry Boland, PS Jenkins bot

344. By Gerry Boland

[qpa] refactor QMirServer to clean up its API, and fix strange thread design.

This does the following:
- QMirServer has a much cleaner API - using d-pointer to encourage ABI stability
- move quit decision point to MirServerIntegration
- the Mir server is run from a class inheriting a QThread, simplifies thread control significantly
Approved by: Daniel d'Andrada

345. By CI Train Bot Account

Releasing 0.4.5+15.10.20150617-0ubuntu1

346. By Andreas Pokorny

Release in step with Mir 0.14.0
Approved by: Gerry Boland

347. By CI Train Bot Account

Releasing 0.4.5+15.10.20150722-0ubuntu1

348. By Gerry Boland

Remove explicit gcc4.9 dependency Fixes: #1452338
Approved by: PS Jenkins bot, Daniel d'Andrada

349. By CI Train Bot Account

Releasing 0.4.5+15.10.20150728-0ubuntu1

350. By Daniel d'Andrada <dandrader@panzer>

Remove focus-based app lifecycle. Let shell control it.

API changes:
- ApplicationManager: removed suspended and forceDashActive
- Added Application.requestedState

Also refactored and clearly defined Application and Session states and state transitions.
- Let Application define its own state based on events provided by ApplicationManager. Previously that responsibility was split between those classes.
- Session now defines its own state based on events and requests fed by Application, SessionManager and SurfaceManager.
Approved by: Gerry Boland

351. By Gerry Boland

We depend on Qt 5.4, remove compatibility code for older versions
Approved by: PS Jenkins bot, Daniel d'Andrada

352. By Lukáš Tinkl

Extend the key table to cover full xkb range of keycodes.

Fixes many missing symbols, mainly various multimedia keys.
Also fix missing mapping to back/forward extra mouse buttons.
Approved by: Gerry Boland, Daniel d'Andrada

353. By Gerry Boland

CMake should require mir 0.14
Approved by: Daniel d'Andrada

354. By Gerry Boland

No change rebuild using GCC 5.
Approved by: Gerry Boland

355. By Alan Griffiths

Start restructuring code to use the Mir WindowManager interface for window management. (Instead of completely replacing the Shell.)
Approved by: Gerry Boland, PS Jenkins bot

356. By Daniel van Vugt

ensure the argv passed to mir is a null terminated list (not a nullptr)
Approved by: Gerry Boland, PS Jenkins bot

357. By Gerry Boland

Ubuntu Touch has no shared graphics cache implemented, QPA should not say it does
Approved by: PS Jenkins bot, Daniel d'Andrada

358. By CI Train Bot Account

Releasing 0.4.5+15.10.20150804.1-0ubuntu1

359. By Daniel van Vugt

MirSurfaceItem: Remove an unnecessary and potentially infinite loop
(LP: #1477430)

We only need to "drop" or consume one frame to do the job of waking
the client up.
 Fixes: #1477430
Approved by: Gerry Boland, PS Jenkins bot

360. By Gerry Boland

authorizeSession incorrectly edits desktopFilePath supplied by desktop_file_hint Fixes: #1483225
Approved by: Daniel d'Andrada, PS Jenkins bot

361. By Gerry Boland

Standardize licences to LGPLv3, update years, remove authors Fixes: #1483664
Approved by: Daniel d'Andrada

362. By Gerry Boland

Add vivid changelog entry as it was released

363. By CI Train Bot Account

Releasing 0.4.5+15.04.20150812.1-0ubuntu1

364. By Alberto Aguirre

Remove protobuf - it is not used anymore.
Approved by: Gerry Boland

365. By CI Train Bot Account

Releasing 0.4.5+15.10.20150817-0ubuntu1

366. By CI Train Bot Account

Resync trunk.

367. By Daniel d'Andrada

Enable multiple MirSurfaceItems rendering the same MirSurface

So MirSurface is the model and MirSurfaceItem is the view+controller.

+ Make MirSurfaceItem instantiable from QML
+ Isolate all mir::scene::Surface code inside MirSurface
+ Enhanced qml-demo-shell: you can now move, resize and *clone* windows
Approved by: Gerry Boland

368. By Daniel d'Andrada

Allow resizing an app that is in the process of getting suspended.

Happens when you lock the phone while showing an app in landscape. As
the display turns off, shell rotates itself back to portrait and starts
suspending the app. Fixes: #1466510
Approved by: Gerry Boland

369. By CI Train Bot Account

Releasing 0.4.6+15.04.20150827.1-0ubuntu1

370. By Michał Sawicz

No-change rebuild to resync vivid+overlay and wily
Approved by: Michael Zanetti

371. By CI Train Bot Account

Releasing 0.4.6+15.10.20150904-0ubuntu1

372. By Daniel van Vugt

Stop waking up every 200ms if there's nothing to wake up for.
It's just wasting battery.

This solves at least half of LP: #1479250. Although the regular
wakeup problem is solved by this, Unity8 continues to use noticeable
CPU while idle (obviously in much less frequent intervals now). Fixes: #1479250
Approved by: Gerry Boland

373. By Daniel d'Andrada

MirSurfaceItem gets dirty when it's set to draw a different (or no) surface Fixes: #1492185
Approved by: Gerry Boland

374. By Daniel d'Andrada

QtEventFeeder: log the pointer events it gets from Mir
Approved by: PS Jenkins bot, Gerry Boland

375. By CI Train Bot Account

Releasing 0.4.6+15.10.20150914-0ubuntu1

376. By Daniel d'Andrada

Update surface focus when a surface enters or leaves a MirSurfaceItem

+ Refactor MirSurfaceItem so that it talks to a MirSurfaceInterface
  instead of the concrete MirSurface class
+ Make MirSurface::setFocus() more robust Fixes: #1491034, #1495437
Approved by: PS Jenkins bot, Gerry Boland

377. By CI Train Bot Account

Releasing 0.4.6+15.10.20150918-0ubuntu1

378. By Cemil Azizoglu

Port gl_bind_to_texture to the new TextureSource interface.
Update for Mir 0.16 release.
Approved by: Alan Griffiths

379. By CI Train Bot Account

Releasing 0.4.6+15.10.20150923-0ubuntu1

380. By Michał Sawicz

Bump application API version
Approved by: Daniel d'Andrada

381. By CI Train Bot Account

Releasing 0.4.6+15.10.20150925-0ubuntu1

382. By Daniel d'Andrada

MirSurfaceItem: texture must be manipulated only from the scene graph thread

Do not delete the texture from within the GUI thread ever, even if the
MirSurfaceItem is no longer holding the MirSurface that provided it.
Otherwise you run the risk of having the scene graph thread dereferencing
a pointer to a texture that no longer exists.

This also fixes fd leak LP: #1495871 (which was a texture/buffer leak). Fixes: #1495871, #1499388
Approved by: Gerry Boland, PS Jenkins bot

383. By Gerry Boland

Add "Closing" state to Application, use it to distinguish user-induced close from app-induced close. Don't clear QML cache if user-induced.

Much code taken from a partially-related branch by Nick Dedekind:
https://code.launchpad.net/~nick-dedekind/qtmir/polite-close/+merge/262188

Note there is 1 disabled test, which needs additional work to fix. Fixes: #1500372
Approved by: PS Jenkins bot

384. By CI Train Bot Account

Releasing 0.4.6+15.10.20150930.1-0ubuntu1

385. By Alexandros Frantzis

Update for Mir 0.17 changes

386. By CI Train Bot Account

Releasing 0.4.6+15.10.20151008.2-0ubuntu1

387. By Albert Astals Cid

Don't search for the element again

Approved by: Gerry Boland, PS Jenkins bot

388. By Daniel d'Andrada

Shell draws its own cursor using the new Cursor QML element
Approved by: Lukáš Tinkl, Gerry Boland

389. By Gerry Boland

Initial multimonitor support - react correctly to Mir DisplayConfiguration changes.

On Mir DisplayConfiguration changes, QtMir now correctly:
1. blocks Mir until it has stopped all renderers and has their GL contexts released
2. reads the new DisplayConfiguration, matches any existing ScreenWindows to new DisplayBuffers should they change (as Mir may destroy and create it on us)
3. restarts all renderers

This also solves shutdown crash issues due to raciness of mir destroying the GL context backing the shell's QWindow before its renderer had stopped.

Add Unity.Screens qml module to advertise current screen state to QML. Fixes: #1436735, #1488831, #1488863
Approved by: Daniel d'Andrada

390. By Michał Sawicz

MirSurfaceItem: Survive holding a surface with an empty texture

Survive having a surface whose texture holds no mir buffer at all.
Instead of crashing in such situation we simply don't render it.
Approved by: Gerry Boland

391. By Michał Sawicz

Improve multimonitor support

* Removed magic:
 - Don't automagically select the screen where a window will be show.
   Let shell decide.
 - Don't automagically focus a window. Let shell handle it.

* Let shell know when a screen is about to be removed so that it has
  the opportunity to move or destroy a window in it before it's too late.
  - Added QGuiApplication::onScreenAboutToBeRemoved

* Added logging to key events
Approved by: Michał Sawicz

392. By Alan Griffiths

Opaquify MirWindowManager to control visibility of upcoming Window Management work
Approved by: Gerry Boland, PS Jenkins bot

393. By Lukáš Tinkl

React to surface modifications (window caption)
Approved by: Daniel d'Andrada

394. By Nick Dedekind

Removed the manipulation of the CMAKE_INSTALL_PREFIX from debian/rules
Approved by: Gerry Boland

395. By Nick Dedekind

Added touch performance tracing and test.
Approved by: Gerry Boland

396. By Lukáš Tinkl

Implement support for mouse wheel events; correctly pass around buttons Fixes: #1497091
Approved by: Gerry Boland

397. By Gerry Boland

Workaround for AutoPilot input coordinate positioning being outside screen geometry

398. By CI Train Bot Account

Releasing 0.4.6+15.10.20151021-0ubuntu1

399. By Michał Sawicz

Clean up packaging and fix autopkgtest on armhf
Approved by: Gerry Boland

400. By Michael Terry

Support new isTouchApp property to ApplicationInfoInterface and move lifecycle policy logic out of qtmir.

Now that qtmir won't decide policy for suspending anymore, we don't need all the lifecycleException handling in qtmir either. That can move to unity8.

But since the GSettings key for that was registered under the qtmir namespace (and there's no technical reason to migrate settings), I left the schema and classes dealing with GSettings alone, for future use.

401. By Nick Dedekind

Support server->client visibility change to stop rendering (lp:#1475678) Fixes: #1475678
Approved by: Daniel d'Andrada

402. By Alan Griffiths

Test harness for MirWindowManager (in preparation for more intelligent window management)
Approved by: Gerry Boland

403. By Nick Dedekind

Hand Qt millisecond timestamps rather than nanosecond. Fixes: #1510571, #1511076, #1511711
Approved by: Gerry Boland

404. By CI Train Bot Account

Releasing 0.4.6+16.04.20151102-0ubuntu1

405. By Nick Dedekind

Reverted occlusion detection (lp#1514556) Fixes: #1514556

406. By CI Train Bot Account

Releasing 0.4.6+16.04.20151110-0ubuntu1

407. By Gerry Boland

Fix armhf builds on Xenial by using -std=gnu99 instead of c99

Fixes this FTBFS on xenial:

In file included from /usr/include/lttng/tracepoint-rcu.h:26:0,
                 from /usr/include/lttng/tracepoint.h:29,
                 from /home/phablet/dev/projects/qtmir/qtmir/BUILD-xen/src/platforms/mirserver/tracepoints.h:10,
                 from /home/phablet/dev/projects/qtmir/qtmir/BUILD-xen/src/platforms/mirserver/tracepoints.c:7:
/usr/include/urcu/arch/generic.h: In function ‘caa_get_cycles’:
/usr/include/urcu/arch/generic.h:165:6: error: ‘CLOCK_MONOTONIC’ undeclared (first use in this function)
  if (caa_unlikely(clock_gettime(CLOCK_MONOTONIC, &ts)))
      ^
/usr/include/urcu/arch/generic.h:165:6: note: each undeclared identifier is reported only once for each function it appears in

Strictly should compile code with -std=gnu99 instead of -std=c99 to have the identifiers SIGEV_SIGNAL, sigeventStruct, and CLOCK_MONOTONIC available. These identifiers are declared when _POSIX_C_SOURCE is set to a value >= 199309L, which is the case with -std=gnu99. I could also have used -D_POSIX_C_SOURCE=199309L -std=c99 or have the macro defined in source code.

Did not impact wily as libuctu only started looking for CLOCK_MONOTONIC in Xenial release.
Approved by: Daniel d'Andrada

408. By CI Train Bot Account

Releasing 0.4.6+16.04.20151112-0ubuntu1

409. By Nick Dedekind

Update surface textures when dropping frames. Fixes: #1515356
Approved by: Gerry Boland

410. By CI Train Bot Account

Releasing 0.4.6+16.04.20151113-0ubuntu1

411. By Gerry Boland

Fix use of uninitialized variable
Approved by: Daniel d'Andrada, PS Jenkins bot

412. By Albert Astals Cid

Enable Efficient String Construction by default

See http://blog.qt.io/blog/2011/06/13/string-concatenation-with-qstringbuilder/
Approved by: Gerry Boland, PS Jenkins bot

413. By Michał Sawicz

Build with clang (tests/gmock fails and is unfixable on our side i'd say)
Approved by: Gerry Boland

414. By Gerry Boland

Use pid_t for PIDs.
Approved by: Daniel d'Andrada, PS Jenkins bot

415. By Loïc Molinari

Ensured Mir surface items with size less than or equal to zero are not rendered, as it's usually done for standard QtQuick items.
Approved by: Gerry Boland

416. By Nick Dedekind

Fix a crash when dropping a surface frame before Qt draws a surface item. Fixes: #1517139
Approved by: Gerry Boland

417. By CI Train Bot Account

Releasing 0.4.6+16.04.20151119-0ubuntu1

418. By Daniel d'Andrada

Implemented support for cursors set by client surfaces
Approved by: Lukáš Tinkl

419. By Gerry Boland

Manage frameSwapped signal/slot connection with MirSurface more strictly to avoid crash.

Direct Signal/slot connections across thread boundaries incur the same risks as any cross-thread calls. While connect/disconnect are thread safe methods, it is possible for a slot to be called while the slot owner is being deconstructed - and so not yet disconnected.

So watch for the Item's window change signal and disconnect signal immediately. Also move slot ownership to MirSurfaceItem to auto-disconnect more aggressively.
 Fixes: #1517571
Approved by: Daniel d'Andrada

420. By Daniel d'Andrada

Forward Mir mouse wheel events to the shell cursor Fixes: #1497091
Approved by: Lukáš Tinkl

421. By Daniel d'Andrada

Revert revision 415

The commit "Ensured Mir surface items with size less than or equal to zero are not rendered,
as it's usually done for standard QtQuick items." caused a regression.

MirSurface.size was being kept uninitialized, as QSize(-1,-1).

422. By CI Train Bot Account

Releasing 0.4.6+16.04.20151125-0ubuntu1

423. By Timo Jyrinki

Rebuild against Qt 5.5.1.

424. By Nick Dedekind

Politely asks processes to close before resorting to killing Fixes: #1434584
Approved by: Daniel d'Andrada

425. By Daniel d'Andrada

Add MirSurfaceItem.fillMode and ensure items and buffer are in sync

Ensure that by the time we enter the phase of updating the scene graph, all qml items are up to date regarding the size of the buffer about to be rendered.

NB: This rendering scheme needs triple buffering to work.
Approved by: Michael Zanetti

426. By Daniel d'Andrada

Make Session hold multiple surfaces

+ Standardize MirSurface debug messages and account for multiple surfaces per app
Approved by: Gerry Boland

427. By Michael Terry

Don't hold a wakelock on apps that are exempt from lifecycle management.

This supports the new exemptFromLifecycle flag for applications as well as bringing back the internal RunningInBackground state.

The tests were revived from the same branch that removed them when we removed RunningInBackground (revision 400) Fixes: #1518764

428. By CI Train Bot Account

Releasing 0.4.7+16.04.20151210-0ubuntu1

429. By Cemil Azizoglu

compatibility branch for Mir 0.18
Approved by: Gerry Boland, Michał Sawicz

430. By CI Train Bot Account

Releasing 0.4.7+16.04.20151217-0ubuntu1

431. By Michał Sawicz

No-change rebuild to get -gles in sync
Approved by: Kevin DuBois

432. By CI Train Bot Account

Releasing 0.4.7+16.04.20151222-0ubuntu1

433. By Daniel d'Andrada

Update Session.fullscreen properties at the right time Fixes: #1525893
Approved by: Gerry Boland

434. By CI Train Bot Account

Releasing 0.4.7+16.04.20160104-0ubuntu1

435. By Nick Dedekind

Fixed issue where stopping the session while suspending was causing app close to stall. Fixes: #1536133

436. By CI Train Bot Account

Releasing 0.4.7+16.04.20160122-0ubuntu1

437. By Brandon Schaefer

Changes for mir 0.19.

438. By CI Train Bot Account

Releasing 0.4.7+16.04.20160127.1-0ubuntu1

439. By Nick Dedekind

Added fix and test for closing app during the StoppedResumable state. Fixes: #1541388
Approved by: Michael Zanetti

440. By CI Train Bot Account

Releasing 0.4.7+16.04.20160208-0ubuntu1

441. By Nick Dedekind

Moved test framework into a static library for quicker recompilation.
Approved by: Gerry Boland

442. By Daniel d'Andrada

Remove the useless TaskController

It was just forwarding calls between ApplicationManager and ApplicationCrontroller.
Had no logic of its own.

ApplicationCrontroller was then renamed to TaskController as the latter has a better API and it also keeps ApplicationManager code more or less untouched.

Tests have been improved a bit by better emulating TaskController behavior
Approved by: Nick Dedekind

443. By Daniel d'Andrada

Let shell decide the initial surface size Fixes: #1532974
Approved by: Nick Dedekind

444. By Daniel d'Andrada

Surface Size Hints
Approved by: Lukáš Tinkl

445. By Albert Astals Cid

Reset start time if the timestamp travels to the past
 Fixes: #1524488
Approved by: Nick Dedekind

446. By Albert Astals Cid

Provide branch prediction information to the if in compressTimestamp
Approved by: Gerry Boland

447. By Michał Sawicz

Use QStandardPaths to determine QML cache location

Also use temporary XDG_CACHE_HOME in ApplicationManagerTests so we don't pollute user's $HOME
Approved by: Unity8 CI Bot, Albert Astals Cid

448. By Daniel d'Andrada

Update mir version requirement
Approved by: Nick Dedekind

449. By Michał Sawicz

Bump unity-api dependencies
Approved by: Michael Terry

450. By CI Train Bot Account

Releasing 0.4.7+16.04.20160212-0ubuntu1

451. By Alan Griffiths

Mir 0.20 Release
Approved by: Cemil Azizoglu

452. By CI Train Bot Account

Releasing 0.4.7+16.04.20160219-0ubuntu1

453. By Gerry Boland

Allow Mir remove command line arguments it understands, before letting Qt process them.
Approved by: Daniel d'Andrada

454. By Alan Griffiths

Copy the Window Management work-in-progress from Mir examples.
Approved by: Gerry Boland

455. By Michael Zanetti

Add a dedicated property for the inputMethodSurface

When we're hot-plugging screens, the OSK ui might only be created after surfaceCreated() is emitted and we miss that signal. Fixes: #1545286
Approved by: Daniel d'Andrada

456. By Gerry Boland

Screen: only enable orientation sensor for internal display.

It's not great, but works around orientation sensor not working after device unplug from monitor. I believe this is because QtUbuntu-Sensors and Platform-api are not dealing properly with multiple accessors of the sensors. Instead only the last accessor gets correct state, and the earlier ones get nothing. Fixes: #1545286
Approved by: Unity8 CI Bot, Michael Zanetti

457. By Daniel d'Andrada

Ensure QmlEngine doesn't delete our MirSurfaces
Approved by: Gerry Boland, Unity8 CI Bot

458. By Gerry Boland

Ensure ScreenWindow geometry correctly set and used after moving Screen

NB: this will conflict with lp:~unity-team/qtmir/set-display-config, from which this is a cherry-pick Fixes: #1545286
Approved by: Gerry Boland, Unity8 CI Bot

459. By Michael Terry

Fix some mocks to use more realistic code paths.

Specifically, MockApplicationController::doAppIdHasProcessId() was returning -1 if the appId was unknown. But that function returns a bool, so the -1 got translated into a true value. So that mocked method returned true for appIds that hadn't been registered yet.

In order to fix that, I decided to rewrite doAppIdHasProcessId to call primaryPidForAppId so that it could be overridden easier in tests. And adjusted the affected tests to all set an ON_CALL(primaryPidForAppId).

(Because otherwise the test has no way to influence the pid used for children -- why do we actually fork off a while(true) process?)

There are several other fixes here for pieces of the mocks that I found were missing while exploring solutions for the above problem:

- I'm actually not 100% clear on why this started being called, but MockSession::name() couldn't create a default value for QString and the gtest framework was bailing when it was called. So I added a default.

- Similarly, if ApplicationManager::authorizeSession() tries to examine an app's commandline, gtest will abort because MockProcInfo::command_line() doesn't have a mock return value. So I added a default.

- And if authorizeSession() lasted long enough to see that the Application object already existed, it deleted the desktop reader object it had made. But the test mocks always returned the same object, so this caused a segfault. I retooled the ApplicationManager tests to return a new object each time DesktopFileReaderFactory::createInstance was called.
Approved by: Gerry Boland, Unity8 CI Bot

460. By Alberto Aguirre

Hook MirOpenGLContext::doneCurrent to Screen::doneCurrent

Actually unbind the opengl/egl context when requested.
Approved by: Gerry Boland

461. By Michał Sawicz

Drop dummy autopkgtest

It doesn't make sense after all - DEP-8 tests are meant to test packages as-installed, not rebuild them from scratch. This meant that new Mir releases got blocked on this, because old qtmir was trying to build against new Mir, which usually fails, as needs adaptation for API changes.
Approved by: Gerry Boland

462. By CI Train Bot Account

Releasing 0.4.7+16.04.20160310.1-0ubuntu1

463. By Nick Dedekind

Added setStage for sidestage redesign and removed ExecFlags
Approved by: Daniel d'Andrada

464. By Michał Sawicz

Add support for low shell chrome. Fixes: #1535397
Approved by: Gerry Boland

465. By Michał Sawicz

Support for switching keyboard layouts Fixes: #1491340, #1524400
Approved by: Michael Terry

466. By CI Train Bot Account

Releasing 0.4.8+16.04.20160322.1-0ubuntu1

467. By Daniel van Vugt

Don't use preferred_mode_index. Some devices like TVs don't provide a
preferred mode, so preferred_mode_index may be out of range (a clumsy
way to represent 'none'). Instead use the resolution of the current display mode, which should always be in range.

Fixes LP: #1560497 Fixes: #1560497
Approved by: Gerry Boland

468. By CI Train Bot Account

Releasing 0.4.8+16.04.20160329.1-0ubuntu1

469. By Michał Sawicz

Drop leftover Xs-Testsuite header
Approved by: Unity8 CI Bot, Gerry Boland

470. By CI Train Bot Account

Releasing 0.4.8+16.04.20160330-0ubuntu1

471. By Daniel d'Andrada

Logging of Qt's OpenGL debug messages now must be enabled via CMake option
Approved by: Gerry Boland

472. By Daniel d'Andrada

Application: improve debug logging

Minimize boilerplate in logging code, as well as standardise its format.
Approved by: Gerry Boland

473. By Daniel d'Andrada

Remove application screenshot provider

It's no longer needed now that QML provides a "item-snapshot" feature.

Besides, it has no purpose in a surface-based window management.
Approved by: Lukáš Tinkl, Gerry Boland

474. By Daniel d'Andrada

MirSurface: replace keymapLayout and keymapVariant with keymap

That's easier for unity8 to use, leads to declarative code.
Approved by: Lukáš Tinkl

475. By Daniel d'Andrada

Surface-based window management

- Session is no longer exported to QML. It's now an internal qtmir concept.
Approved by: Gerry Boland

476. By Michał Sawicz

Inline -gles packaging.
Approved by: Gerry Boland

477. By CI Train Bot Account

Releasing 0.4.8+16.04.20160413-0ubuntu1

478. By Alberto Aguirre

Mir 0.22 compatibility
Approved by: Cemil Azizoglu, Kevin DuBois, Brandon Schaefer

479. By CI Train Bot Account

Releasing 0.4.8+16.04.20160426-0ubuntu1

480. By Michael Terry

Use latest UbuntuAppLaunch API which supports libertine apps.
Approved by: Nick Dedekind

481. By Lukáš Tinkl

Regression fix: restore window title handling Fixes: #1563522
Approved by: Nick Dedekind

482. By CI Train Bot Account

Releasing 0.4.8+16.04.20160428-0ubuntu1

483. By Gerry Boland

Enhance ScreenController & the DisplayConfigurationPolicy to implement dynamic grid units.

- Rename ScreenController to ScreenModel, as it just reflects current screen state, does not offer means to configure it
- ScreenController can update state of existing Screens, based on Mir DisplayConfiguration changes.
- Expand Screen to include scale & form factor properties, with getter/notifier in NativeInterface. This enables the dynamic grid units in the shell
- Add a Unity.Screens qml module to give QML better information about connected screens, and allow basic reconfiguring.
- Implement a basic display configuration policy to set suitable scale and form factor on an external display (needed for dynamic grid units) Fixes: #1573532
Approved by: Unity8 CI Bot, Daniel d'Andrada

484. By CI Train Bot Account

Releasing 0.4.8+16.04.20160429.1-0ubuntu1

485. By Daniel d'Andrada

Session: Add a blank surface to the public list if it already has child prompt surfaces

A prompt session may come in too early, before its parent session got a chance
to draw its surface's first frame.

Normally that wouldn't be a problem and we could withhold that parent surface until
it's finally drawn to. But unfortunately the application process might be blocked,
unable to draw anything, until its child prompt session gets dismissed.

Because of that we have no option but to expose this blank surface to shell so that
it can display it along with the prompt surface on top of it, so that the user can
interact with it right away and finally unblock the application. Fixes: #1578665
Approved by: Unity8 CI Bot

486. By CI Train Bot Account

Releasing 0.4.8+16.04.20160511-0ubuntu1

487. By Daniel d'Andrada

Fix ProxySurfaceListModel::countChanged signal
Approved by: Unity8 CI Bot

488. By Daniel d'Andrada

Move prompt surfaces from MirSurface to Application and emit firstChanged signal

489. By CI Train Bot Account

Releasing 0.4.8+16.04.20160518.1-0ubuntu1

490. By Gerry Boland

UAL can throw on creating Application if invalid appId, catch instead of aborting Fixes: #1578258
Approved by: Unity8 CI Bot, Michael Terry

491. By Daniel d'Andrada

Application: Don't respawn if closed while still starting up

+ refactoring of Application::onSessionStateChanged to explicitly cover every single internal state on session stopping. Fixes: #1575577
Approved by: Gerry Boland, Unity8 CI Bot, Michael Terry

492. By Alan Griffiths

Reduce coupling to MirServer - it has been misused as a context object.
Approved by: Alan Griffiths, Unity8 CI Bot, Daniel d'Andrada

493. By Michał Sawicz

Centralize logging categories

The header part is already centralized. Make the cpp the same.

Moves all logging category symbols to the mirserver lib.

Enables mirserver to use logging categories that were previously declared in the Unity.Application module.
Approved by: Unity8 CI Bot, Michael Terry

494. By Daniel d'Andrada

Also interpret the cursor names used by Mir client API Fixes: #1447839
Approved by: Unity8 CI Bot, Michał Sawicz

495. By Timo Jyrinki

Use FindQt5PlatformSupport to find platform support, other methods not available on Qt 5.6 anymore. Fixes: #1554404
Approved by: Gerry Boland

496. By CI Train Bot Account

Releasing 0.4.8+16.10.20160520.1-0ubuntu1

497. By Daniel d'Andrada

Bump unity-api versions
Approved by: Lukáš Tinkl

498. By Alan Griffiths

Drop the (unused) prototype Window Management code
Approved by: Gerry Boland, Unity8 CI Bot

499. By Daniel d'Andrada

Fix mir::scene::Surface focus attribute updates
Approved by: Unity8 CI Bot

500. By Albert Astals Cid

Enable workaround_brokenFBOReadBack on various chipsets

Gives for impressive improvements in QSGDefaultDistanceFieldGlyphCache::storeGlyphs
impressive = 788ms -> 6ms

Copied from qtubuntu
 Fixes: #1581123
Approved by: Gerry Boland, Unity8 CI Bot

501. By Alan Griffiths

Remove workaround for lp:1502200
Approved by: Unity8 CI Bot, Daniel d'Andrada

502. By CI Train Bot Account

Releasing 0.4.8+16.10.20160525.2-0ubuntu1

503. By Kevin DuBois

rebuild for mir 0.23

504. By CI Train Bot Account

Releasing 0.4.8+16.10.20160602-0ubuntu1

505. By Michael Zanetti

Adding ApplicationInfo::surfaceCount property

506. By Albert Astals Cid

Add support for compiler sanitizers via ECM

507. By Albert Astals Cid

Compile with -fsanitize=undefined

508. By Albert Astals Cid

Fix leak in ScreensModelTest (LP: #1585502)

509. By Albert Astals Cid

Fix leak in SessionManager test (LP: #1585498)

510. By Albert Astals Cid

Remove unused m_sessions member

511. By Albert Astals Cid

Add missing breaks

512. By Albert Astals Cid

Initialize m_lastX and m_lastY

513. By Albert Astals Cid

Initialize m_sessionId

514. By Albert Astals Cid

Give the locker a name

515. By Albert Astals Cid

Fix memory leak in QtEventFeederTest (LP: #1585503)

516. By Albert Astals Cid

Fix leaks in application_manager_test (LP: #1585501)

517. By Daniel d'Andrada

Improve Session debug logging

518. By Daniel d'Andrada

MirSurfaceListModel: prepending a surface always causes firstChanged() emission

519. By Gerry Boland

Release temporary GL context ASAP, fixes QtMir on X11. Add some hotpath branching hints (LP: #1588921)

520. By CI Train Bot Account

Releasing 0.4.8+16.10.20160614-0ubuntu1

521. By Daniel d'Andrada

com.canonical.Unity.FocusInfo D-Bus service for providing focus information

522. By CI Train Bot Account

Releasing 0.4.8+16.10.20160704.1-0ubuntu1

523. By Michał Sawicz

Don't use root dbus path (LP: #1599145)

524. By CI Train Bot Account

Releasing 0.4.8+16.10.20160705.2-0ubuntu1

525. By Łukasz Zemczak

Build the qtmir-android package for arm64 as well.

526. By CI Train Bot Account

Releasing 0.4.8+16.10.20160712-0ubuntu1

527. By Daniel d'Andrada

Implement MirSurface::inputBounds and make use of mir's input region

This allows us to finally drop the UbuntuKeyboardInfo hack.

Approved by: Gerry Boland

528. By CI Train Bot Account

Releasing 0.4.8+16.10.20160714-0ubuntu1

529. By Timo Jyrinki

Rebuild against Qt 5.6.

530. By Nick Dedekind

Re-added occlusion detection (LP: #1475678)

Approved by: Daniel d'Andrada

531. By CI Train Bot Account

* Add support for compiler sanitizers via ECM
* Compile with -fsanitize=undefined
* Fix leak in ScreensModelTest (LP: #1585502)
* Fix leak in SessionManager test (LP: #1585498)
* Remove unused m_sessions member
* Add missing breaks
* Initialize m_lastX and m_lastY
* Initialize m_sessionId
* Give the locker a name
* Fix memory leak in QtEventFeederTest (LP: #1585503)
* Fix leaks in application_manager_test (LP: #1585501)
* Improve Session debug logging
* MirSurfaceListModel: prepending a surface always causes
  firstChanged() emission
* Adding ApplicationInfo::surfaceCount property

532. By Daniel d'Andrada

Ensure different cursor names for consecutive custom cursor changes
(LP: #1604701) (LP: #1605078) (LP: #1604701, #1605078)

Approved by: Albert Astals Cid, Unity8 CI Bot

533. By Gerry Boland

Dump core if Mir fails to start in time - dump will help us see where Mir blocked (LP: #1537389)

Approved by: Daniel van Vugt, Unity8 CI Bot

534. By Marco Trevisan (Treviño)

ScreenWindow: handle window activated when exposing it

This will ensure that there's a focused window for the rendered application
(thus we can deliver keyboard events to it) (LP: #1590060)

Approved by: Gerry Boland, Unity8 CI Bot

535. By Albert Astals Cid

Fix memory leak in application_test

Approved by: Daniel d'Andrada, Unity8 CI Bot

536. By Gerry Boland

Tests: AppManTest: use stack instead of heap when possible, better cleanup of resources

Approved by: Andreas Pokorny, Daniel d'Andrada

537. By Daniel d'Andrada

Remove com.canonical.Unity.WindowStack D-Bus service

Nobody knows of anyone using it and the code is outdated
(pre surface-based WM era), so it doesn't even work correctly.

Therefore this is effectively dead code.

Approved by: Gerry Boland

538. By Gerry Boland

AppMan: queue the onProcessStarting slot, as processStarting blocks ubuntu-app-launch from executing the process.

The ProcessStarting signal is fired by a sync dbus call from upstart via ubuntu-app-launch. It is a sync call as AppMan needs to be informed of a new process, before that process can connect through Mir and be authenticated with authoriseSession (it was async before, but we had to make it sync to fix a bug where fast starting processes would connect to Mir before upstart's signal was received).

Instead of reacting immediately in the onProcessStarted - creating the Application & emitting signals to shell (which causes animations) -all blocking upstart launching the app, it is better to push an event onto the event queue and let upstart launch the app.

Note that authoriseSession is a slot connected to with a BlockingQueuedConnection, which also creates an event and pushes it to the event queue. As this will definitely happen after the processStarted signal, we are guaranteed that the slots will be called in the correct order.

This change improves app startup times on Krillin by around 100ms.

Approved by: Daniel d'Andrada

539. By CI Train Bot Account

Releasing 0.4.8+16.10.20160730-0ubuntu1

540. By Alan Griffiths

Reduce MirServer to an implementation detail of QMirServer (nothing else needs to touch it).

Approved by: Daniel d'Andrada, Unity8 CI Bot

541. By Albert Astals Cid

Improvements from running clazy over the code

* Use QStringLiterals for literals
* Add some QLatin1Strings
* Add some reserve() calls
* Change a QList to QVector since QList is not optimal on big items
* Add some const &
* Add one override
* Fix some struct/class mistmatches

clazy: https://quickgit.kde.org/?p=scratch%2Fsmartins%2Fclazy.git
Run over the src folder

Approved by: Gerry Boland

542. By Albert Astals Cid

Compile with clang

Approved by: Gerry Boland

543. By Daniel d'Andrada

Remove Application.stage and RoleStage from ApplicationManager

They're not used anymore

Approved by: Gerry Boland

544. By Daniel van Vugt

Fix incorrect mouse wheel/touchpad scrolling scale (LP: #1607240)
and also add sufficient precision that high-resolution touchpad
scrolling now works! (LP: #1607223)

This fixes two mistakes:
 1. angleDelta is not in degrees but eighths of a degree, so the magic
    constant 15 should be 120 (QWheelEvent::DefaultDeltasPerStep)
    [http://doc.qt.io/qt-5/qwheelevent.html#angleDelta].
 2. When converting from Qt back into a Mir event we forgot completely
    to divide by the same factor to get back to the Mir scale of things. (LP: #1607223, #1607240)

Approved by: Lukáš Tinkl, Unity8 CI Bot

545. By CI Train Bot Account

Releasing 0.4.8+16.10.20160810-0ubuntu1

546. By Kevin DuBois

compatibility changes for mir 0.24.0

Approved by: Daniel d'Andrada

547. By CI Train Bot Account

Releasing 0.4.8+16.10.20160816.1-0ubuntu1

548. By Ted Gould

No change rebuild for UAL ABI change

Approved by: Gerry Boland

549. By CI Train Bot Account

Releasing 0.4.8+16.10.20160819-0ubuntu1

550. By Daniel d'Andrada

DBusFocusInfo.isPidFocused: search sessions recursively (LP: #1612166)

Approved by: Gerry Boland, Unity8 CI Bot

551. By Michał Sawicz

Revert r538 that's causing a unity8 crash when launching emergency dialer over greeter (LP: #1616842)

Approved by: Unity8 CI Bot

552. By CI Train Bot Account

Releasing 0.4.8+16.10.20160826.1-0ubuntu1

553. By Michał Sawicz

Build qtmir-android on arm64 for the need of valid libqpa-mirserver.so for ubuntu phone xenial arm64 porting.

554. By Łukasz Zemczak

Releasing 0.4.8+16.10.20160826.1-0ubuntu3

555. By Daniel d'Andrada

DBusFocusInfo: added isSurfaceFocused(serializedId)

Approved by: Michael Terry

556. By Daniel d'Andrada

Use content-hub for clipboard services

And remove our own implementation of such service (LP: #1471998)

Approved by: Michael Terry

557. By Daniel d'Andrada

Don't link tests against LTTng

LTTng was causing deadlocks when running tests on arm and on CI

Workaround for https://bugs.launchpad.net/bugs/1618201

This is the backtrace of where it gets stuck:
#0 0xffffffff in __pthread_mutex_unlock_usercnt (mutex=0xb6fff514 <_rtld_global+1220>, decr=1) at pthread_mutex_unlock.c:51
#1 0xffffffff in tls_get_addr_tail (ti=0xb637021c, dtv=0xb3757008, the_map=<optimized out>) at dl-tls.c:778
#2 0xffffffff in lttng_ust_init () at /usr/include/urcu/static/urcu-bp.h:158
#3 0xffffffff in lttng_ust_init () at lttng-ust-comm.c:369
#4 0xffffffff in lttng_ust_init () at lttng-ust-comm.c:1481
#5 0xffffffff in call_init (l=<optimized out>, argc=argc@entry=1, argv=argv@entry=0xbefff3d4, env=env@entry=0xbefff3dc) at dl-init.c:72
#6 0xffffffff in _dl_init (env=<optimized out>, argv=<optimized out>, argc=<optimized out>, l=<optimized out>) at dl-init.c:30
#7 0xffffffff in _dl_init (main_map=0xb6fff958, argc=1, argv=0xbefff3d4, env=0xbefff3dc) at dl-init.c:120
#8 0xffffffff in _dl_start_user () at /lib/ld-linux-armhf.so.3

It gets stuck during initialization, more specifically, inside lttng_fixup_urcu_bp_tls()

Approved by: Michael Terry

558. By CI Train Bot Account

Releasing 0.4.8+16.10.20160831-0ubuntu1

559. By Daniel d'Andrada

Don't occlude newly created surfaces until some time has passed

Ensures apps are able to render the initial state of their UIs straight away.

The main use case is the dash being created behing the greeter/lockscreen (and therefore occluded) on device start up. (LP: #1620297)

560. By CI Train Bot Account

Releasing 0.4.8+16.10.20160906-0ubuntu1

561. By Gerry Boland

Deliver mouse event manually if no cursor exists to deliver it

Approved by: Daniel d'Andrada

562. By Gerry Boland

[tests] refactor ScreensModel test to use mocks from mirtest-dev

Approved by: Alan Griffiths, Unity8 CI Bot

563. By Daniel d'Andrada

Send relative pointer movement to Mir clients (LP: #1597205)

Approved by: Unity8 CI Bot

564. By Daniel d'Andrada

Implement cursor confinement (LP: #1590099)

Approved by: Lukáš Tinkl

565. By CI Train Bot Account

Releasing 0.4.8+16.10.20160909-0ubuntu1

566. By Michael Zanetti

don't lose resize events that come in while the app is suspended

cache those events and fire them when the app wakes up again

Approved by: Daniel d'Andrada, Lukáš Tinkl

567. By Andrea Bernabei

Add missing default return value to qImageFormatFromMirPixelFormat

Approved by: Daniel d'Andrada

568. By Nick Dedekind

Close windows in reverse order. (LP: #1622717)

Approved by: Daniel d'Andrada

569. By CI Train Bot Account

Releasing 0.4.8+17.04.20161024-0ubuntu1

570. By Gerry Boland

Fix FTBFS due to new googletest framework release (1.8)

- needed to update the gmock-fixes.h to add Unwrap() support
- small signed/unsigned comparison fix flagged by GTest

Approved by: Daniel d'Andrada

571. By Gerry Boland

Revert Lttng test-crash workaround from rev 557

Approved by: Daniel d'Andrada, Unity8 CI Bot

572. By Jonas G. Drange

relax auth of clients to allow USS to set base mir display config

Approved by: Gerry Boland

573. By Albert Astals Cid

Build with Qt 5.7 (LP: #1642608, #1642954)

Approved by: Gerry Boland, Unity8 CI Bot

574. By CI Train Bot Account

Releasing 0.5.0+17.04.20161123.3-0ubuntu1

575. By Brandon Schaefer

Mir 0.25 compat

576. By CI Train Bot Account

Releasing 0.5.0+17.04.20161203-0ubuntu1

577. By CI Train Bot Account

First release using MirAL

578. By Daniel d'Andrada

Get rid of the ApplicationManager::Factory class

It's useless

Approved by: Gerry Boland, Unity8 CI Bot

579. By Daniel d'Andrada

Enable tests in Xenial

This workaround was needed only for the glib version present in Vivid

Approved by: Gerry Boland, Unity8 CI Bot

580. By CI Train Bot Account

Releasing 0.5.1+17.04.20161216-0ubuntu1

581. By Łukasz Zemczak

No-change rebuild against latest miral.

582. By Albert Astals Cid

Specify C++14 in a more CMake-ish way

Works better when building with Qt 5.7 otherwise one would say C++14, the other C++11 and things would not work out (LP: #1653902)

Approved by: Gerry Boland

583. By CI Train Bot Account

Releasing 0.5.1+17.04.20170104-0ubuntu1

584. By CI Train Bot Account

Resync trunk.

585. By Lukáš Tinkl

Some assorted cleanups and small optimizations

Approved by: Gerry Boland, Unity8 CI Bot

586. By Lukáš Tinkl

Apply default device keymap (LP: #1626435)

Approved by: Gerry Boland, Unity8 CI Bot

587. By Gerry Boland

Recalculate MirSurface.visible after first frame swap by client

Fixes issue where OSK would be invisible at startup (LP: #1649077)

Approved by: Nick Dedekind, Unity8 CI Bot

588. By CI Train Bot Account

Releasing 0.5.1+17.04.20170124-0ubuntu1

589. By Cemil Azizoglu

Mir 0.26 compatibility branch for QtMir.

Approved by: Gerry Boland

590. By CI Train Bot Account

Releasing 0.5.1+17.04.20170127-0ubuntu1

591. By Daniel d'Andrada

WindowManagementPolicy: Avoid activating windows unnecessarily

That generates quite some noise throught the stack

Approved by: Gerry Boland, Unity8 CI Bot

592. By Daniel d'Andrada

MirSurface: Make frame dropper work even when there's no texture around

Approved by: Gerry Boland, Unity8 CI Bot

593. By Daniel d'Andrada

Changes need for child windows support

- MirSurface::parentSurface
- MirSurface::childSurfaceList
- MirSurface::position in local coordinates (LP: #1656727)

Approved by: Gerry Boland, Unity8 CI Bot

594. By Daniel d'Andrada

Fix initialSurfaceSize

It got broken in the move to use miral

Approved by: Gerry Boland

595. By CI Train Bot Account

Releasing 0.5.1+17.04.20170206-0ubuntu1

596. By Albert Astals Cid

We're at provides 26 already

597. By Iain Lane

Releasing 0.5.1+17.04.20170206-0ubuntu2

598. By Alan Griffiths

Iteration 0 of miral::PersistDisplayConfig. This does nothing yet (and breaks nothing in the process). This MP creates a place (miral-prototypes) to build prototype miral features and sketches out what will need to be implemented for PersistDisplayConfig. (LP: #1644189)

Approved by: Nick Dedekind, Unity8 CI Bot

599. By Nick Dedekind

Added Extended Display Information Data (EDID) parsing.

Approved by: Gerry Boland, Unity8 CI Bot

600. By Gerry Boland

ScreenModel: Only expose windows on displays that are turned on

It seems the GL context Mir gives us for a display that is turned off is invalid. But there is no point rendering to a display that is turned off anyway. (LP: #1521403, #1638611, #1656250)

Approved by: Daniel d'Andrada, Unity8 CI Bot

601. By Gerry Boland

Restore lost LTTng tracepoints, and delete unused ones (LP: #1658084)

Approved by: Daniel d'Andrada, Unity8 CI Bot

602. By CI Train Bot Account

We're at provides 26 already (LP: #1662608)

Approved by: Gerry Boland

603. By Albert Astals Cid

Check we provide the same unity-application-impl that we require

Approved by: Gerry Boland, Lukáš Tinkl, Unity8 CI Bot

604. By Alan Griffiths

Identify the code that depends directly on mirserver-dev headers

Approved by: Lukáš Tinkl, Unity8 CI Bot

605. By Daniel d'Andrada

Resolve mir cursor names using mir symbols instead of plain strings

Since those names under the API symbols change regularly and should be considered opaque. (LP: #1662827)

Approved by: Albert Astals Cid, Unity8 CI Bot

606. By CI Train Bot Account

Releasing 0.5.1+17.04.20170215.1-0ubuntu1

607. By Ken VanDine

Handle ubuntu-app-launch API bump to version 3

Approved by: Gerry Boland, Unity8 CI Bot

608. By CI Train Bot Account

Releasing 0.5.1+17.04.20170221-0ubuntu1

609. By Daniel d'Andrada

Some qtmir::Session fixes

- Emit Session::focusedChanged when adding an already focused window
- When session dies, besides killing all its surfaces, also kill its closing surfaces

Approved by: Gerry Boland, Unity8 CI Bot

610. By Daniel d'Andrada

Make TaskController absorb SessionManager

So that we can later on provide fake, internal, mir clients for tests
just by replacing the TaskController with a fake implementation.

Approved by: Gerry Boland, Unity8 CI Bot

611. By Daniel d'Andrada

Don't pass command line arguments to Mir

Those are application specific, as qtmir can be used by several different
executables (unity8, uqmlscene, qmltestrunner), each taking its own set of
command line args.

Those executables (uqmlscene and qmltestrunner in particular) will quit when
seeing Mir arguments as they don't recognize them and vice-versa.

Approved by: Gerry Boland, Unity8 CI Bot

612. By Lukáš Tinkl

Use the shell chrome, as provided by miral window info (LP: #1658117)

Approved by: Gerry Boland, Unity8 CI Bot

613. By Gerry Boland

Workaround for Mir changing GL state unexpectedly on Qt, breaking font rendering.

For non-GL clients, Mir uploads the client pixel buffer to a GL texture which makes compositor code nicer. But as it does to, it changes some GL state (mainly the stride = GL_UNPACK_ALIGNMENT) and neglects to restore it, which breaks Qt's font rendering (which expects a certain stride). (LP: #1583088)

Approved by: Daniel d'Andrada, Daniel van Vugt, Unity8 CI Bot

614. By Daniel d'Andrada

Reduce default log verbosity

Debug messages won't be logged by default. Only from Informational level and up.
Most debug messages were transformed into informational, but some verbose ones were left as debug (such as window resize and reposition) (LP: #1664151)

Approved by: Gerry Boland, Unity8 CI Bot

615. By Albert Astals Cid

Fix clang build

    /home/tsdgeos/phablet/qtmir/qtmir/src/platforms/mirserver/mirserverhooks.cpp:40:11: error: member 'PromptSessionListener' found in multiple base classes of different types
        using PromptSessionListener::PromptSessionListener;
              ^
    /home/tsdgeos/phablet/qtmir/qtmir/src/platforms/mirserver/promptsessionlistener.h:28:7: note: member found by ambiguous name lookup
    class PromptSessionListener : public QObject
          ^
    /usr/include/mirserver/mir/scene/prompt_session_listener.h:31:7: note: member found by ambiguous name lookup
    class PromptSessionListener
          ^
    1 error generated.

Approved by: Alan Griffiths, Gerry Boland, Unity8 CI Bot

616. By Daniel d'Andrada

DBusFocusInfo: fix crash when trying to access a null session from an application

An application that has just been started might not have a session yet. (LP: #1670710)

Approved by: Gerry Boland, Unity8 CI Bot

617. By CI Train Bot Account

Releasing 0.5.1+17.04.20170307-0ubuntu1

618. By Gerry Boland

Fix FTBFS against miral 1.3.1

Approved by: Daniel d'Andrada, Unity8 CI Bot, Alan Griffiths

619. By Daniel d'Andrada

Implement MirSurface::allowClientResize (LP: #1670390)

Approved by: Gerry Boland, Unity8 CI Bot

620. By Alan Griffiths

Reduce dependencies on mirserver by reworking ../Application/mirbuffersgtexture.cpp and ../Application/surfacemanager.cpp

Approved by: Gerry Boland, Unity8 CI Bot

621. By Gerry Boland

Stop MirSurface deleting itself, ensure SurfaceManager alone manages MirSurface lifetimes. Add SurfaceManager test suite.

This fixes bugs where a MirSurface would call deleteLater on itself, but SurfaceManager would have no idea and keep a pointer to that MirSurface in its internal list.

Instead SurfaceManager listens for signals from both miral and the MirSurface itself to decide when to delete it.

Add a test suite to verify MirSurface lifetimes. (LP: #1655644)

Approved by: Daniel d'Andrada, Unity8 CI Bot

622. By Albert Astals Cid

Check for find() result not being null before using it

We do it in onWindowReady, onWindowMoved, onWindowFocusChanged, etc so no reason to not do it in onWindowRemoved

Approved by: Lukáš Tinkl, Unity8 CI Bot

623. By Gerry Boland

Extend timeouts when running under valgrind

When QMirServer is starting up, it spawns a separate thread for Mir to startup and waits for it. As valgrind slows execution greatly, the QMirServer timeout triggers before Mir has started, causing the QMirServer to think it failed and exit.

This patch adds ability to detect when running under valgrind and extending timeouts to suit.

Approved by: Daniel d'Andrada, Unity8 CI Bot

624. By Andreas Pokorny

Attach MirInputDeviceId and the MirCookie to input events

Similar to the tracking of relative motion the cookie and input device ids of mir events are stored in the EventBuilder for later recovery (LP: #1536279, #1668692)

Approved by: Daniel d'Andrada, Unity8 CI Bot

625. By CI Train Bot Account

Releasing 0.5.1+17.04.20170320.1-0ubuntu1

626. By Lukáš Tinkl

Raise (activate) windows when an app focus is requested (LP: #1672337)

Approved by: Daniel d'Andrada, Unity8 CI Bot

627. By Albert Astals Cid

Remove empty property and move invokable

They are not part of the interface and not used by unity8 either

Approved by: Gerry Boland, Unity8 CI Bot

628. By Albert Astals Cid

Run ApplicationManager::authorizeSession in the calling thread

Instead of using a BlockingQueuedConnection

This fixes the deadlock we have when we are creating a player that uses gstreamer and
gstreamer needs to update its registry (which blocks waiting for an external process to finish)
and that external process tries to connect to mir.

Adds a QMutex in ApplicationManager that protects the public functions and slots

The mutex needs to be recursive since for example beginInsertRows call in add() will call rowCount()

The setPid/addApp functions are still run through a queued signal so that the model/QObjects are still all handled in the main thread.

findApplicationMutexHeld is not really necessary since the mutex is recursive but thought it's better to leave the recursive use for when it's really needed (LP: #1525285)

Approved by: Gerry Boland, Unity8 CI Bot

629. By Gerry Boland

Don't let a child window go offscreen because its parent moved

Approved by: Daniel d'Andrada, Unity8 CI Bot

630. By Daniel d'Andrada

Ensure the window that got a key down also gets the corresponding key up

Otherwise it will be left in a inconsistent state (with a pressed key hanging around).

QQuickWindow's input dispatching doesn't guarantee that for its QQuickItem.
So we have to do it ourselves.

This can happen when qml active focus changes in response to a key press.
Eg: client creates a child window in response to a Ctrl+O. By the time the user
releases the Ctrl, active focus will already be in the child window, so the child window
will get the release event instead of the top-level one. (LP: #1671072)

Approved by: Gerry Boland, Unity8 CI Bot

631. By Gerry Boland

Add env var equivalent to desktop_file_hint

Approved by: Daniel d'Andrada, Unity8 CI Bot

632. By Andreas Pokorny

Report and consume exception that may occur on constructing a keymap (LP: #1557634)

Approved by: Daniel d'Andrada, Unity8 CI Bot

633. By Alan Griffiths

MirAL will be correcting another spelling error shortly. Avoid an FTBFS when that happens.

Approved by: Gerry Boland, Unity8 CI Bot

634. By Alan Griffiths

Compatibility with lp:mir and lp:~alan-griffiths/miral/1.3

Approved by: Gerry Boland, Unity8 CI Bot

635. By CI Train Bot Account

Releasing 0.5.1+17.04.20170328-0ubuntu1

636. By Albert Astals Cid

Remove m_tools member

CanonicalWindowManagerPolicy already has a tools, no need to have our own

Approved by: Gerry Boland, Unity8 CI Bot

637. By Albert Astals Cid

EventInfo::store: Store an empty cookie for mir events without cookie

Otherwise when the m_eventInfoVector ringbuffer wraps we end up returning a stale cookie for events that had no cookie (e.g. mouse move events)

Approved by: Andreas Pokorny, Gerry Boland

638. By Daniel d'Andrada

Support multiple sessions per Application (LP: #1675448)

Approved by: Gerry Boland, Unity8 CI Bot

639. By CI Train Bot Account

Releasing 0.5.1+17.04.20170404-0ubuntu1

640. By Alan Griffiths

0.27 compat

641. By Alan Griffiths

1.0 compat

642. By Alan Griffiths

Frig for LP build recipe

643. By Alan Griffiths

Mir 1.0 => Mir 0.28

Unmerged revisions

643. By Alan Griffiths

Mir 1.0 => Mir 0.28

642. By Alan Griffiths

Frig for LP build recipe

641. By Alan Griffiths

1.0 compat

640. By Alan Griffiths

0.27 compat

Preview Diff

Empty

Subscribers

People subscribed via source and target branches