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

Proposed by Cemil Azizoglu on 2015-01-05
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 continuous-integration Approve on 2015-01-05
Mir development team 2015-01-05 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.
lp:qtmir/devel-mir-next updated on 2017-10-13
297. By Nick Dedekind on 2015-01-08

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

298. By Cemil Azizoglu on 2015-01-08

Rebuild for Mir 0.10.
Approved by: PS Jenkins bot

299. By CI Train Bot <${CITRAIN_USER}@canonical.com> on 2015-01-08

Releasing 0.4.4+15.04.20150108.1-0ubuntu1

300. By Nick Dedekind on 2015-01-09

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 on 2015-01-09

Releasing 0.4.4+15.04.20150109-0ubuntu1

302. By Gerry Boland on 2015-01-14

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

303. By Michał Sawicz on 2015-01-14

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 on 2015-01-14

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 on 2015-01-14

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 on 2015-01-14

Releasing 0.4.4+15.04.20150114-0ubuntu1

307. By Ricardo Mendoza on 2015-01-15

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 on 2015-01-15

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 on 2015-01-15

Releasing 0.4.4+15.04.20150115-0ubuntu1

310. By Gerry Boland on 2015-02-06

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 on 2015-02-06

Add moot autopkgtest to run the standard unit tests

312. By Albert Astals Cid on 2015-02-06

Fix demo shell import name
Approved by: Gerry Boland

313. By Daniel d'Andrada on 2015-02-06

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 on 2015-02-06

Releasing 0.4.4+15.04.20150206-0ubuntu1

315. By Alan Griffiths on 2015-02-09

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

316. By Daniel van Vugt on 2015-02-09

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> on 2015-02-09

Bump build-dep to mir 0.11.

318. By CI Train Bot Account on 2015-02-09

Releasing 0.4.4+15.04.20150209-0ubuntu1

319. By Timo Jyrinki on 2015-02-16

No-change rebuild against Qt 5.4.0.

320. By Albert Astals Cid on 2015-02-20

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 on 2015-02-20

Releasing 0.4.4+15.04.20150220-0ubuntu1

322. By Kevin DuBois on 2015-02-27

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

323. By CI Train Bot Account on 2015-02-27

Releasing 0.4.4+15.04.20150227.1-0ubuntu1

324. By Albert Astals Cid on 2015-03-17

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 on 2015-03-17

Releasing 0.4.4+15.04.20150317-0ubuntu1

326. By Robert Carr on 2015-03-18

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 on 2015-03-18

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 on 2015-03-18

Releasing 0.4.4+15.04.20150318-0ubuntu1

329. By Gerry Boland on 2015-05-11

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 on 2015-05-11

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

331. By Michael Zanetti on 2015-05-11

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

332. By Daniel d'Andrada on 2015-05-11

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 on 2015-05-11

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 on 2015-05-11

Fix debug line

Approved by: Gerry Boland

335. By Gerry Boland on 2015-05-11

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 on 2015-05-11

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 on 2015-05-11

Releasing 0.4.4+15.04.20150511.1-0ubuntu1

338. By Daniel van Vugt on 2015-05-13

Release in step with Mir 0.13.0
Approved by: Gerry Boland

339. By CI Train Bot Account on 2015-05-13

Releasing 0.4.4+15.04.20150513-0ubuntu1

340. By Daniel d'Andrada on 2015-06-11

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 on 2015-06-11

Releasing 0.4.5+15.10.20150611-0ubuntu1

342. By Timo Jyrinki on 2015-06-15

No-change rebuild against Qt 5.4.2.

343. By Michał Sawicz on 2015-06-17

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

344. By Gerry Boland on 2015-06-17

[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 on 2015-06-17

Releasing 0.4.5+15.10.20150617-0ubuntu1

346. By Andreas Pokorny on 2015-07-22

Release in step with Mir 0.14.0
Approved by: Gerry Boland

347. By CI Train Bot Account on 2015-07-22

Releasing 0.4.5+15.10.20150722-0ubuntu1

348. By Gerry Boland on 2015-07-28

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

349. By CI Train Bot Account on 2015-07-28

Releasing 0.4.5+15.10.20150728-0ubuntu1

350. By Daniel d'Andrada <dandrader@panzer> on 2015-08-04

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 on 2015-08-04

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

352. By Lukáš Tinkl on 2015-08-04

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 on 2015-08-04

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

354. By Gerry Boland on 2015-08-04

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

355. By Alan Griffiths on 2015-08-04

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 on 2015-08-04

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 on 2015-08-04

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 on 2015-08-04

Releasing 0.4.5+15.10.20150804.1-0ubuntu1

359. By Daniel van Vugt on 2015-08-12

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 on 2015-08-12

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

361. By Gerry Boland on 2015-08-12

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

362. By Gerry Boland on 2015-08-12

Add vivid changelog entry as it was released

363. By CI Train Bot Account on 2015-08-12

Releasing 0.4.5+15.04.20150812.1-0ubuntu1

364. By Alberto Aguirre on 2015-08-17

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

365. By CI Train Bot Account on 2015-08-17

Releasing 0.4.5+15.10.20150817-0ubuntu1

366. By CI Train Bot Account on 2015-08-24

Resync trunk.

367. By Daniel d'Andrada on 2015-08-27

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 on 2015-08-27

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 on 2015-08-27

Releasing 0.4.6+15.04.20150827.1-0ubuntu1

370. By Michał Sawicz on 2015-09-04

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

371. By CI Train Bot Account on 2015-09-04

Releasing 0.4.6+15.10.20150904-0ubuntu1

372. By Daniel van Vugt on 2015-09-14

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 on 2015-09-14

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 on 2015-09-14

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

375. By CI Train Bot Account on 2015-09-14

Releasing 0.4.6+15.10.20150914-0ubuntu1

376. By Daniel d'Andrada on 2015-09-18

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 on 2015-09-18

Releasing 0.4.6+15.10.20150918-0ubuntu1

378. By Cemil Azizoglu on 2015-09-23

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 on 2015-09-23

Releasing 0.4.6+15.10.20150923-0ubuntu1

380. By Michał Sawicz on 2015-09-25

Bump application API version
Approved by: Daniel d'Andrada

381. By CI Train Bot Account on 2015-09-25

Releasing 0.4.6+15.10.20150925-0ubuntu1

382. By Daniel d'Andrada on 2015-09-30

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 on 2015-09-30

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 on 2015-09-30

Releasing 0.4.6+15.10.20150930.1-0ubuntu1

385. By Alexandros Frantzis on 2015-10-08

Update for Mir 0.17 changes

386. By CI Train Bot Account on 2015-10-08

Releasing 0.4.6+15.10.20151008.2-0ubuntu1

387. By Albert Astals Cid on 2015-10-21

Don't search for the element again

Approved by: Gerry Boland, PS Jenkins bot

388. By Daniel d'Andrada on 2015-10-21

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

389. By Gerry Boland on 2015-10-21

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 on 2015-10-21

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 on 2015-10-21

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 on 2015-10-21

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

393. By Lukáš Tinkl on 2015-10-21

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

394. By Nick Dedekind on 2015-10-21

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

395. By Nick Dedekind on 2015-10-21

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

396. By Lukáš Tinkl on 2015-10-21

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

397. By Gerry Boland on 2015-10-21

Workaround for AutoPilot input coordinate positioning being outside screen geometry

398. By CI Train Bot Account on 2015-10-21

Releasing 0.4.6+15.10.20151021-0ubuntu1

399. By Michał Sawicz on 2015-11-02

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

400. By Michael Terry on 2015-11-02

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 on 2015-11-02

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

402. By Alan Griffiths on 2015-11-02

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

403. By Nick Dedekind on 2015-11-02

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

404. By CI Train Bot Account on 2015-11-02

Releasing 0.4.6+16.04.20151102-0ubuntu1

405. By Nick Dedekind on 2015-11-10

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

406. By CI Train Bot Account on 2015-11-10

Releasing 0.4.6+16.04.20151110-0ubuntu1

407. By Gerry Boland on 2015-11-12

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 on 2015-11-12

Releasing 0.4.6+16.04.20151112-0ubuntu1

409. By Nick Dedekind on 2015-11-13

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

410. By CI Train Bot Account on 2015-11-13

Releasing 0.4.6+16.04.20151113-0ubuntu1

411. By Gerry Boland on 2015-11-19

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

412. By Albert Astals Cid on 2015-11-19

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 on 2015-11-19

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

414. By Gerry Boland on 2015-11-19

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

415. By Loïc Molinari on 2015-11-19

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 on 2015-11-19

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 on 2015-11-19

Releasing 0.4.6+16.04.20151119-0ubuntu1

418. By Daniel d'Andrada on 2015-11-25

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

419. By Gerry Boland on 2015-11-25

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 on 2015-11-25

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

421. By Daniel d'Andrada on 2015-11-25

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 on 2015-11-25

Releasing 0.4.6+16.04.20151125-0ubuntu1

423. By Timo Jyrinki on 2015-12-01

Rebuild against Qt 5.5.1.

424. By Nick Dedekind on 2015-12-10

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

425. By Daniel d'Andrada on 2015-12-10

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 on 2015-12-10

Make Session hold multiple surfaces

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

427. By Michael Terry on 2015-12-10

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 on 2015-12-10

Releasing 0.4.7+16.04.20151210-0ubuntu1

429. By Cemil Azizoglu on 2015-12-17

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

430. By CI Train Bot Account on 2015-12-17

Releasing 0.4.7+16.04.20151217-0ubuntu1

431. By Michał Sawicz on 2015-12-22

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

432. By CI Train Bot Account on 2015-12-22

Releasing 0.4.7+16.04.20151222-0ubuntu1

433. By Daniel d'Andrada on 2016-01-04

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

434. By CI Train Bot Account on 2016-01-04

Releasing 0.4.7+16.04.20160104-0ubuntu1

435. By Nick Dedekind on 2016-01-22

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

436. By CI Train Bot Account on 2016-01-22

Releasing 0.4.7+16.04.20160122-0ubuntu1

437. By Brandon Schaefer on 2016-01-27

Changes for mir 0.19.

438. By CI Train Bot Account on 2016-01-27

Releasing 0.4.7+16.04.20160127.1-0ubuntu1

439. By Nick Dedekind on 2016-02-08

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

440. By CI Train Bot Account on 2016-02-08

Releasing 0.4.7+16.04.20160208-0ubuntu1

441. By Nick Dedekind on 2016-02-12

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

442. By Daniel d'Andrada on 2016-02-12

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 on 2016-02-12

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

444. By Daniel d'Andrada on 2016-02-12

Surface Size Hints
Approved by: Lukáš Tinkl

445. By Albert Astals Cid on 2016-02-12

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

446. By Albert Astals Cid on 2016-02-12

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

447. By Michał Sawicz on 2016-02-12

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 on 2016-02-12

Update mir version requirement
Approved by: Nick Dedekind

449. By Michał Sawicz on 2016-02-12

Bump unity-api dependencies
Approved by: Michael Terry

450. By CI Train Bot Account on 2016-02-12

Releasing 0.4.7+16.04.20160212-0ubuntu1

451. By Alan Griffiths on 2016-02-19

Mir 0.20 Release
Approved by: Cemil Azizoglu

452. By CI Train Bot Account on 2016-02-19

Releasing 0.4.7+16.04.20160219-0ubuntu1

453. By Gerry Boland on 2016-03-10

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

454. By Alan Griffiths on 2016-03-10

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

455. By Michael Zanetti on 2016-03-10

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 on 2016-03-10

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 on 2016-03-10

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

458. By Gerry Boland on 2016-03-10

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 on 2016-03-10

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 on 2016-03-10

Hook MirOpenGLContext::doneCurrent to Screen::doneCurrent

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

461. By Michał Sawicz on 2016-03-10

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 on 2016-03-10

Releasing 0.4.7+16.04.20160310.1-0ubuntu1

463. By Nick Dedekind on 2016-03-22

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

464. By Michał Sawicz on 2016-03-22

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

465. By Michał Sawicz on 2016-03-22

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

466. By CI Train Bot Account on 2016-03-22

Releasing 0.4.8+16.04.20160322.1-0ubuntu1

467. By Daniel van Vugt on 2016-03-29

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 on 2016-03-29

Releasing 0.4.8+16.04.20160329.1-0ubuntu1

469. By Michał Sawicz on 2016-03-30

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

470. By CI Train Bot Account on 2016-03-30

Releasing 0.4.8+16.04.20160330-0ubuntu1

471. By Daniel d'Andrada on 2016-04-13

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

472. By Daniel d'Andrada on 2016-04-13

Application: improve debug logging

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

473. By Daniel d'Andrada on 2016-04-13

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 on 2016-04-13

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 on 2016-04-13

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 on 2016-04-13

Inline -gles packaging.
Approved by: Gerry Boland

477. By CI Train Bot Account on 2016-04-13

Releasing 0.4.8+16.04.20160413-0ubuntu1

478. By Alberto Aguirre on 2016-04-26

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

479. By CI Train Bot Account on 2016-04-26

Releasing 0.4.8+16.04.20160426-0ubuntu1

480. By Michael Terry on 2016-04-28

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

481. By Lukáš Tinkl on 2016-04-28

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

482. By CI Train Bot Account on 2016-04-28

Releasing 0.4.8+16.04.20160428-0ubuntu1

483. By Gerry Boland on 2016-04-29

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 on 2016-04-29

Releasing 0.4.8+16.04.20160429.1-0ubuntu1

485. By Daniel d'Andrada on 2016-05-11

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 on 2016-05-11

Releasing 0.4.8+16.04.20160511-0ubuntu1

487. By Daniel d'Andrada on 2016-05-18

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

488. By Daniel d'Andrada on 2016-05-18

Move prompt surfaces from MirSurface to Application and emit firstChanged signal

489. By CI Train Bot Account on 2016-05-18

Releasing 0.4.8+16.04.20160518.1-0ubuntu1

490. By Gerry Boland on 2016-05-20

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 on 2016-05-20

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 on 2016-05-20

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 on 2016-05-20

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 on 2016-05-20

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

495. By Timo Jyrinki on 2016-05-20

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 on 2016-05-20

Releasing 0.4.8+16.10.20160520.1-0ubuntu1

497. By Daniel d'Andrada on 2016-05-25

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

498. By Alan Griffiths on 2016-05-25

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

499. By Daniel d'Andrada on 2016-05-25

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

500. By Albert Astals Cid on 2016-05-25

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 on 2016-05-25

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

502. By CI Train Bot Account on 2016-05-25

Releasing 0.4.8+16.10.20160525.2-0ubuntu1

503. By Kevin DuBois on 2016-06-02

rebuild for mir 0.23

504. By CI Train Bot Account on 2016-06-02

Releasing 0.4.8+16.10.20160602-0ubuntu1

505. By Michael Zanetti on 2016-06-14

Adding ApplicationInfo::surfaceCount property

506. By Albert Astals Cid on 2016-06-14

Add support for compiler sanitizers via ECM

507. By Albert Astals Cid on 2016-06-14

Compile with -fsanitize=undefined

508. By Albert Astals Cid on 2016-06-14

Fix leak in ScreensModelTest (LP: #1585502)

509. By Albert Astals Cid on 2016-06-14

Fix leak in SessionManager test (LP: #1585498)

510. By Albert Astals Cid on 2016-06-14

Remove unused m_sessions member

511. By Albert Astals Cid on 2016-06-14

Add missing breaks

512. By Albert Astals Cid on 2016-06-14

Initialize m_lastX and m_lastY

513. By Albert Astals Cid on 2016-06-14

Initialize m_sessionId

514. By Albert Astals Cid on 2016-06-14

Give the locker a name

515. By Albert Astals Cid on 2016-06-14

Fix memory leak in QtEventFeederTest (LP: #1585503)

516. By Albert Astals Cid on 2016-06-14

Fix leaks in application_manager_test (LP: #1585501)

517. By Daniel d'Andrada on 2016-06-14

Improve Session debug logging

518. By Daniel d'Andrada on 2016-06-14

MirSurfaceListModel: prepending a surface always causes firstChanged() emission

519. By Gerry Boland on 2016-06-14

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

520. By CI Train Bot Account on 2016-06-14

Releasing 0.4.8+16.10.20160614-0ubuntu1

521. By Daniel d'Andrada on 2016-07-04

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

522. By CI Train Bot Account on 2016-07-04

Releasing 0.4.8+16.10.20160704.1-0ubuntu1

523. By Michał Sawicz on 2016-07-05

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

524. By CI Train Bot Account on 2016-07-05

Releasing 0.4.8+16.10.20160705.2-0ubuntu1

525. By Łukasz Zemczak on 2016-07-12

Build the qtmir-android package for arm64 as well.

526. By CI Train Bot Account on 2016-07-12

Releasing 0.4.8+16.10.20160712-0ubuntu1

527. By Daniel d'Andrada on 2016-07-14

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 on 2016-07-14

Releasing 0.4.8+16.10.20160714-0ubuntu1

529. By Timo Jyrinki on 2016-07-26

Rebuild against Qt 5.6.

530. By Nick Dedekind on 2016-07-30

Re-added occlusion detection (LP: #1475678)

Approved by: Daniel d'Andrada

531. By CI Train Bot Account on 2016-07-30

* 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 on 2016-07-30

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 on 2016-07-30

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) on 2016-07-30

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 on 2016-07-30

Fix memory leak in application_test

Approved by: Daniel d'Andrada, Unity8 CI Bot

536. By Gerry Boland on 2016-07-30

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 on 2016-07-30

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 on 2016-07-30

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 on 2016-07-30

Releasing 0.4.8+16.10.20160730-0ubuntu1

540. By Alan Griffiths on 2016-08-10

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 on 2016-08-10

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 on 2016-08-10

Compile with clang

Approved by: Gerry Boland

543. By Daniel d'Andrada on 2016-08-10

Remove Application.stage and RoleStage from ApplicationManager

They're not used anymore

Approved by: Gerry Boland

544. By Daniel van Vugt on 2016-08-10

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 on 2016-08-10

Releasing 0.4.8+16.10.20160810-0ubuntu1

546. By Kevin DuBois on 2016-08-16

compatibility changes for mir 0.24.0

Approved by: Daniel d'Andrada

547. By CI Train Bot Account on 2016-08-16

Releasing 0.4.8+16.10.20160816.1-0ubuntu1

548. By Ted Gould on 2016-08-19

No change rebuild for UAL ABI change

Approved by: Gerry Boland

549. By CI Train Bot Account on 2016-08-19

Releasing 0.4.8+16.10.20160819-0ubuntu1

550. By Daniel d'Andrada on 2016-08-26

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

Approved by: Gerry Boland, Unity8 CI Bot

551. By Michał Sawicz on 2016-08-26

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 on 2016-08-26

Releasing 0.4.8+16.10.20160826.1-0ubuntu1

553. By Michał Sawicz on 2016-08-30

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

554. By Łukasz Zemczak on 2016-08-30

Releasing 0.4.8+16.10.20160826.1-0ubuntu3

555. By Daniel d'Andrada on 2016-08-31

DBusFocusInfo: added isSurfaceFocused(serializedId)

Approved by: Michael Terry

556. By Daniel d'Andrada on 2016-08-31

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 on 2016-08-31

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 on 2016-08-31

Releasing 0.4.8+16.10.20160831-0ubuntu1

559. By Daniel d'Andrada on 2016-09-06

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 on 2016-09-06

Releasing 0.4.8+16.10.20160906-0ubuntu1

561. By Gerry Boland on 2016-09-09

Deliver mouse event manually if no cursor exists to deliver it

Approved by: Daniel d'Andrada

562. By Gerry Boland on 2016-09-09

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

Approved by: Alan Griffiths, Unity8 CI Bot

563. By Daniel d'Andrada on 2016-09-09

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

Approved by: Unity8 CI Bot

564. By Daniel d'Andrada on 2016-09-09

Implement cursor confinement (LP: #1590099)

Approved by: Lukáš Tinkl

565. By CI Train Bot Account on 2016-09-09

Releasing 0.4.8+16.10.20160909-0ubuntu1

566. By Michael Zanetti on 2016-10-24

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 on 2016-10-24

Add missing default return value to qImageFormatFromMirPixelFormat

Approved by: Daniel d'Andrada

568. By Nick Dedekind on 2016-10-24

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

Approved by: Daniel d'Andrada

569. By CI Train Bot Account on 2016-10-24

Releasing 0.4.8+17.04.20161024-0ubuntu1

570. By Gerry Boland on 2016-11-23

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 on 2016-11-23

Revert Lttng test-crash workaround from rev 557

Approved by: Daniel d'Andrada, Unity8 CI Bot

572. By Jonas G. Drange on 2016-11-23

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

Approved by: Gerry Boland

573. By Albert Astals Cid on 2016-11-23

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

Approved by: Gerry Boland, Unity8 CI Bot

574. By CI Train Bot Account on 2016-11-23

Releasing 0.5.0+17.04.20161123.3-0ubuntu1

575. By Brandon Schaefer on 2016-12-03

Mir 0.25 compat

576. By CI Train Bot Account on 2016-12-03

Releasing 0.5.0+17.04.20161203-0ubuntu1

577. By CI Train Bot Account on 2016-12-16

First release using MirAL

578. By Daniel d'Andrada on 2016-12-16

Get rid of the ApplicationManager::Factory class

It's useless

Approved by: Gerry Boland, Unity8 CI Bot

579. By Daniel d'Andrada on 2016-12-16

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 on 2016-12-16

Releasing 0.5.1+17.04.20161216-0ubuntu1

581. By Łukasz Zemczak on 2016-12-22

No-change rebuild against latest miral.

582. By Albert Astals Cid on 2017-01-04

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 on 2017-01-04

Releasing 0.5.1+17.04.20170104-0ubuntu1

584. By CI Train Bot Account on 2017-01-16

Resync trunk.

585. By Lukáš Tinkl on 2017-01-24

Some assorted cleanups and small optimizations

Approved by: Gerry Boland, Unity8 CI Bot

586. By Lukáš Tinkl on 2017-01-24

Apply default device keymap (LP: #1626435)

Approved by: Gerry Boland, Unity8 CI Bot

587. By Gerry Boland on 2017-01-24

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 on 2017-01-24

Releasing 0.5.1+17.04.20170124-0ubuntu1

589. By Cemil Azizoglu on 2017-01-27

Mir 0.26 compatibility branch for QtMir.

Approved by: Gerry Boland

590. By CI Train Bot Account on 2017-01-27

Releasing 0.5.1+17.04.20170127-0ubuntu1

591. By Daniel d'Andrada on 2017-02-06

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 on 2017-02-06

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

Approved by: Gerry Boland, Unity8 CI Bot

593. By Daniel d'Andrada on 2017-02-06

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 on 2017-02-06

Fix initialSurfaceSize

It got broken in the move to use miral

Approved by: Gerry Boland

595. By CI Train Bot Account on 2017-02-06

Releasing 0.5.1+17.04.20170206-0ubuntu1

596. By Albert Astals Cid on 2017-02-15

We're at provides 26 already

597. By Iain Lane on 2017-02-15

Releasing 0.5.1+17.04.20170206-0ubuntu2

598. By Alan Griffiths on 2017-02-15

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 on 2017-02-15

Added Extended Display Information Data (EDID) parsing.

Approved by: Gerry Boland, Unity8 CI Bot

600. By Gerry Boland on 2017-02-15

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 on 2017-02-15

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

Approved by: Daniel d'Andrada, Unity8 CI Bot

602. By CI Train Bot Account on 2017-02-15

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

Approved by: Gerry Boland

603. By Albert Astals Cid on 2017-02-15

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

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

604. By Alan Griffiths on 2017-02-15

Identify the code that depends directly on mirserver-dev headers

Approved by: Lukáš Tinkl, Unity8 CI Bot

605. By Daniel d'Andrada on 2017-02-15

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 on 2017-02-15

Releasing 0.5.1+17.04.20170215.1-0ubuntu1

607. By Ken VanDine on 2017-02-21

Handle ubuntu-app-launch API bump to version 3

Approved by: Gerry Boland, Unity8 CI Bot

608. By CI Train Bot Account on 2017-02-21

Releasing 0.5.1+17.04.20170221-0ubuntu1

609. By Daniel d'Andrada on 2017-03-07

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 on 2017-03-07

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 on 2017-03-07

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 on 2017-03-07

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

Approved by: Gerry Boland, Unity8 CI Bot

613. By Gerry Boland on 2017-03-07

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 on 2017-03-07

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 on 2017-03-07

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 on 2017-03-07

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 on 2017-03-07

Releasing 0.5.1+17.04.20170307-0ubuntu1

618. By Gerry Boland on 2017-03-20

Fix FTBFS against miral 1.3.1

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

619. By Daniel d'Andrada on 2017-03-20

Implement MirSurface::allowClientResize (LP: #1670390)

Approved by: Gerry Boland, Unity8 CI Bot

620. By Alan Griffiths on 2017-03-20

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

Approved by: Gerry Boland, Unity8 CI Bot

621. By Gerry Boland on 2017-03-20

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 on 2017-03-20

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 on 2017-03-20

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 on 2017-03-20

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 on 2017-03-20

Releasing 0.5.1+17.04.20170320.1-0ubuntu1

626. By Lukáš Tinkl on 2017-03-28

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

Approved by: Daniel d'Andrada, Unity8 CI Bot

627. By Albert Astals Cid on 2017-03-28

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 on 2017-03-28

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 on 2017-03-28

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 on 2017-03-28

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 on 2017-03-28

Add env var equivalent to desktop_file_hint

Approved by: Daniel d'Andrada, Unity8 CI Bot

632. By Andreas Pokorny on 2017-03-28

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 on 2017-03-28

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 on 2017-03-28

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

Approved by: Gerry Boland, Unity8 CI Bot

635. By CI Train Bot Account on 2017-03-28

Releasing 0.5.1+17.04.20170328-0ubuntu1

636. By Albert Astals Cid on 2017-04-04

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 on 2017-04-04

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 on 2017-04-04

Support multiple sessions per Application (LP: #1675448)

Approved by: Gerry Boland, Unity8 CI Bot

639. By CI Train Bot Account on 2017-04-04

Releasing 0.5.1+17.04.20170404-0ubuntu1

640. By Alan Griffiths on 2017-09-28

0.27 compat

641. By Alan Griffiths on 2017-09-28

1.0 compat

642. By Alan Griffiths on 2017-10-09

Frig for LP build recipe

643. By Alan Griffiths on 2017-10-13

Mir 1.0 => Mir 0.28

Unmerged revisions

643. By Alan Griffiths on 2017-10-13

Mir 1.0 => Mir 0.28

642. By Alan Griffiths on 2017-10-09

Frig for LP build recipe

641. By Alan Griffiths on 2017-09-28

1.0 compat

640. By Alan Griffiths on 2017-09-28

0.27 compat

Preview Diff

Empty

Subscribers

People subscribed via source and target branches