[Touch-packages] [Bug 1475678] Re: Unity8 not informing clients that they are not visible and thus can stop rendering

2017-03-13 Thread Michał Sawicz
** Project changed: qtmir => qtmir (Ubuntu)

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to unity8 in Ubuntu.
https://bugs.launchpad.net/bugs/1475678

Title:
  Unity8 not informing clients that they are not visible and thus can
  stop rendering

Status in Canonical System Image:
  Fix Released
Status in qtmir package in Ubuntu:
  Fix Released
Status in unity8 package in Ubuntu:
  Fix Released

Bug description:
  Currently on the phone, apps stop rendering when shell hides them,
  because shell also lifecycle stops the app. App isn't actually told it
  should stop rendering, we just SIGSTOP its process.

  But some apps are not lifecycle stopped, e.g. music. So we should have
  unity8 tell the app to stop rendering.

  
  This will be a multi-step process:
  1. Qtubuntu
  Mir has a attribute to set on surfaces to tell them they are 
visible/occluded: (see mir/include/common/mir_toolkit/common.h)
  mir_surface_attrib_visibility - part of the MirSurfaceAttrib enum. 

  This indicates these possible values:
  typedef enum MirSurfaceVisibility
  {
  mir_surface_visibility_occluded = 0,
  mir_surface_visibility_exposed
  } MirSurfaceVisibility;

  On the client side (qtubuntu), you need to listen for this attribute change, 
and connect it to QWindowSystemInterface::handleExposeEvent() which tells Qt 
how much of a QWindow is being drawn.
  Note there is also a QWindowSystemInterface::handleWindowStateChanged() 
handler, which use use to explicitly set QWindow show/hide, but Qt tends to 
release its GL context on hide, which we may not desire. It may not hurt, worth 
a look.

  2. QtMir
  There are methods on mir::scene::Surface to set and get the MirSurfaceAttrib 
attributes. I think it would make sense to use the pre-existing 
MirSurfaceItem::visible property, so that if a surface is marked visible=false, 
then that will dispatch the mir_surface_visibility_occluded event to the 
client, so it will stop drawing.

  3. Unity8
  Correctly set visible=false when an application surface is occluded, and true 
when visible. QML has no automatic way of doing that (i.e. occlusion detection)

To manage notifications about this bug go to:
https://bugs.launchpad.net/canonical-devices-system-image/+bug/1475678/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1475678] Re: Unity8 not informing clients that they are not visible and thus can stop rendering

2016-09-20 Thread Pat McGowan
** Changed in: canonical-devices-system-image
   Status: Fix Committed => Fix Released

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to unity8 in Ubuntu.
https://bugs.launchpad.net/bugs/1475678

Title:
  Unity8 not informing clients that they are not visible and thus can
  stop rendering

Status in Canonical System Image:
  Fix Released
Status in QtMir:
  Fix Released
Status in unity8 package in Ubuntu:
  Fix Released

Bug description:
  Currently on the phone, apps stop rendering when shell hides them,
  because shell also lifecycle stops the app. App isn't actually told it
  should stop rendering, we just SIGSTOP its process.

  But some apps are not lifecycle stopped, e.g. music. So we should have
  unity8 tell the app to stop rendering.

  
  This will be a multi-step process:
  1. Qtubuntu
  Mir has a attribute to set on surfaces to tell them they are 
visible/occluded: (see mir/include/common/mir_toolkit/common.h)
  mir_surface_attrib_visibility - part of the MirSurfaceAttrib enum. 

  This indicates these possible values:
  typedef enum MirSurfaceVisibility
  {
  mir_surface_visibility_occluded = 0,
  mir_surface_visibility_exposed
  } MirSurfaceVisibility;

  On the client side (qtubuntu), you need to listen for this attribute change, 
and connect it to QWindowSystemInterface::handleExposeEvent() which tells Qt 
how much of a QWindow is being drawn.
  Note there is also a QWindowSystemInterface::handleWindowStateChanged() 
handler, which use use to explicitly set QWindow show/hide, but Qt tends to 
release its GL context on hide, which we may not desire. It may not hurt, worth 
a look.

  2. QtMir
  There are methods on mir::scene::Surface to set and get the MirSurfaceAttrib 
attributes. I think it would make sense to use the pre-existing 
MirSurfaceItem::visible property, so that if a surface is marked visible=false, 
then that will dispatch the mir_surface_visibility_occluded event to the 
client, so it will stop drawing.

  3. Unity8
  Correctly set visible=false when an application surface is occluded, and true 
when visible. QML has no automatic way of doing that (i.e. occlusion detection)

To manage notifications about this bug go to:
https://bugs.launchpad.net/canonical-devices-system-image/+bug/1475678/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1475678] Re: Unity8 not informing clients that they are not visible and thus can stop rendering

2016-09-05 Thread Michał Sawicz
** Changed in: qtmir
   Status: In Progress => Fix Released

** Changed in: unity8 (Ubuntu)
   Status: In Progress => Fix Released

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to unity8 in Ubuntu.
https://bugs.launchpad.net/bugs/1475678

Title:
  Unity8 not informing clients that they are not visible and thus can
  stop rendering

Status in Canonical System Image:
  Fix Committed
Status in QtMir:
  Fix Released
Status in unity8 package in Ubuntu:
  Fix Released

Bug description:
  Currently on the phone, apps stop rendering when shell hides them,
  because shell also lifecycle stops the app. App isn't actually told it
  should stop rendering, we just SIGSTOP its process.

  But some apps are not lifecycle stopped, e.g. music. So we should have
  unity8 tell the app to stop rendering.

  
  This will be a multi-step process:
  1. Qtubuntu
  Mir has a attribute to set on surfaces to tell them they are 
visible/occluded: (see mir/include/common/mir_toolkit/common.h)
  mir_surface_attrib_visibility - part of the MirSurfaceAttrib enum. 

  This indicates these possible values:
  typedef enum MirSurfaceVisibility
  {
  mir_surface_visibility_occluded = 0,
  mir_surface_visibility_exposed
  } MirSurfaceVisibility;

  On the client side (qtubuntu), you need to listen for this attribute change, 
and connect it to QWindowSystemInterface::handleExposeEvent() which tells Qt 
how much of a QWindow is being drawn.
  Note there is also a QWindowSystemInterface::handleWindowStateChanged() 
handler, which use use to explicitly set QWindow show/hide, but Qt tends to 
release its GL context on hide, which we may not desire. It may not hurt, worth 
a look.

  2. QtMir
  There are methods on mir::scene::Surface to set and get the MirSurfaceAttrib 
attributes. I think it would make sense to use the pre-existing 
MirSurfaceItem::visible property, so that if a surface is marked visible=false, 
then that will dispatch the mir_surface_visibility_occluded event to the 
client, so it will stop drawing.

  3. Unity8
  Correctly set visible=false when an application surface is occluded, and true 
when visible. QML has no automatic way of doing that (i.e. occlusion detection)

To manage notifications about this bug go to:
https://bugs.launchpad.net/canonical-devices-system-image/+bug/1475678/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1475678] Re: Unity8 not informing clients that they are not visible and thus can stop rendering

2016-08-05 Thread Jean-Baptiste Lallement
** Changed in: canonical-devices-system-image
   Status: In Progress => Fix Committed

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to unity8 in Ubuntu.
https://bugs.launchpad.net/bugs/1475678

Title:
  Unity8 not informing clients that they are not visible and thus can
  stop rendering

Status in Canonical System Image:
  Fix Committed
Status in QtMir:
  In Progress
Status in unity8 package in Ubuntu:
  In Progress

Bug description:
  Currently on the phone, apps stop rendering when shell hides them,
  because shell also lifecycle stops the app. App isn't actually told it
  should stop rendering, we just SIGSTOP its process.

  But some apps are not lifecycle stopped, e.g. music. So we should have
  unity8 tell the app to stop rendering.

  
  This will be a multi-step process:
  1. Qtubuntu
  Mir has a attribute to set on surfaces to tell them they are 
visible/occluded: (see mir/include/common/mir_toolkit/common.h)
  mir_surface_attrib_visibility - part of the MirSurfaceAttrib enum. 

  This indicates these possible values:
  typedef enum MirSurfaceVisibility
  {
  mir_surface_visibility_occluded = 0,
  mir_surface_visibility_exposed
  } MirSurfaceVisibility;

  On the client side (qtubuntu), you need to listen for this attribute change, 
and connect it to QWindowSystemInterface::handleExposeEvent() which tells Qt 
how much of a QWindow is being drawn.
  Note there is also a QWindowSystemInterface::handleWindowStateChanged() 
handler, which use use to explicitly set QWindow show/hide, but Qt tends to 
release its GL context on hide, which we may not desire. It may not hurt, worth 
a look.

  2. QtMir
  There are methods on mir::scene::Surface to set and get the MirSurfaceAttrib 
attributes. I think it would make sense to use the pre-existing 
MirSurfaceItem::visible property, so that if a surface is marked visible=false, 
then that will dispatch the mir_surface_visibility_occluded event to the 
client, so it will stop drawing.

  3. Unity8
  Correctly set visible=false when an application surface is occluded, and true 
when visible. QML has no automatic way of doing that (i.e. occlusion detection)

To manage notifications about this bug go to:
https://bugs.launchpad.net/canonical-devices-system-image/+bug/1475678/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1475678] Re: Unity8 not informing clients that they are not visible and thus can stop rendering

2016-06-29 Thread Pat McGowan
** Changed in: canonical-devices-system-image
Milestone: 12 => 13

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to unity8 in Ubuntu.
https://bugs.launchpad.net/bugs/1475678

Title:
  Unity8 not informing clients that they are not visible and thus can
  stop rendering

Status in Canonical System Image:
  In Progress
Status in QtMir:
  In Progress
Status in unity8 package in Ubuntu:
  In Progress

Bug description:
  Currently on the phone, apps stop rendering when shell hides them,
  because shell also lifecycle stops the app. App isn't actually told it
  should stop rendering, we just SIGSTOP its process.

  But some apps are not lifecycle stopped, e.g. music. So we should have
  unity8 tell the app to stop rendering.

  
  This will be a multi-step process:
  1. Qtubuntu
  Mir has a attribute to set on surfaces to tell them they are 
visible/occluded: (see mir/include/common/mir_toolkit/common.h)
  mir_surface_attrib_visibility - part of the MirSurfaceAttrib enum. 

  This indicates these possible values:
  typedef enum MirSurfaceVisibility
  {
  mir_surface_visibility_occluded = 0,
  mir_surface_visibility_exposed
  } MirSurfaceVisibility;

  On the client side (qtubuntu), you need to listen for this attribute change, 
and connect it to QWindowSystemInterface::handleExposeEvent() which tells Qt 
how much of a QWindow is being drawn.
  Note there is also a QWindowSystemInterface::handleWindowStateChanged() 
handler, which use use to explicitly set QWindow show/hide, but Qt tends to 
release its GL context on hide, which we may not desire. It may not hurt, worth 
a look.

  2. QtMir
  There are methods on mir::scene::Surface to set and get the MirSurfaceAttrib 
attributes. I think it would make sense to use the pre-existing 
MirSurfaceItem::visible property, so that if a surface is marked visible=false, 
then that will dispatch the mir_surface_visibility_occluded event to the 
client, so it will stop drawing.

  3. Unity8
  Correctly set visible=false when an application surface is occluded, and true 
when visible. QML has no automatic way of doing that (i.e. occlusion detection)

To manage notifications about this bug go to:
https://bugs.launchpad.net/canonical-devices-system-image/+bug/1475678/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1475678] Re: Unity8 not informing clients that they are not visible and thus can stop rendering

2016-05-27 Thread Selene Scriven
Subscribing so I can get notified to power-test the changes when they're
available.

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to unity8 in Ubuntu.
https://bugs.launchpad.net/bugs/1475678

Title:
  Unity8 not informing clients that they are not visible and thus can
  stop rendering

Status in Canonical System Image:
  In Progress
Status in QtMir:
  In Progress
Status in unity8 package in Ubuntu:
  In Progress

Bug description:
  Currently on the phone, apps stop rendering when shell hides them,
  because shell also lifecycle stops the app. App isn't actually told it
  should stop rendering, we just SIGSTOP its process.

  But some apps are not lifecycle stopped, e.g. music. So we should have
  unity8 tell the app to stop rendering.

  
  This will be a multi-step process:
  1. Qtubuntu
  Mir has a attribute to set on surfaces to tell them they are 
visible/occluded: (see mir/include/common/mir_toolkit/common.h)
  mir_surface_attrib_visibility - part of the MirSurfaceAttrib enum. 

  This indicates these possible values:
  typedef enum MirSurfaceVisibility
  {
  mir_surface_visibility_occluded = 0,
  mir_surface_visibility_exposed
  } MirSurfaceVisibility;

  On the client side (qtubuntu), you need to listen for this attribute change, 
and connect it to QWindowSystemInterface::handleExposeEvent() which tells Qt 
how much of a QWindow is being drawn.
  Note there is also a QWindowSystemInterface::handleWindowStateChanged() 
handler, which use use to explicitly set QWindow show/hide, but Qt tends to 
release its GL context on hide, which we may not desire. It may not hurt, worth 
a look.

  2. QtMir
  There are methods on mir::scene::Surface to set and get the MirSurfaceAttrib 
attributes. I think it would make sense to use the pre-existing 
MirSurfaceItem::visible property, so that if a surface is marked visible=false, 
then that will dispatch the mir_surface_visibility_occluded event to the 
client, so it will stop drawing.

  3. Unity8
  Correctly set visible=false when an application surface is occluded, and true 
when visible. QML has no automatic way of doing that (i.e. occlusion detection)

To manage notifications about this bug go to:
https://bugs.launchpad.net/canonical-devices-system-image/+bug/1475678/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1475678] Re: Unity8 not informing clients that they are not visible and thus can stop rendering

2016-05-05 Thread Michał Sawicz
** Changed in: canonical-devices-system-image
Milestone: 11 => 12

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to unity8 in Ubuntu.
https://bugs.launchpad.net/bugs/1475678

Title:
  Unity8 not informing clients that they are not visible and thus can
  stop rendering

Status in Canonical System Image:
  In Progress
Status in QtMir:
  In Progress
Status in unity8 package in Ubuntu:
  In Progress

Bug description:
  Currently on the phone, apps stop rendering when shell hides them,
  because shell also lifecycle stops the app. App isn't actually told it
  should stop rendering, we just SIGSTOP its process.

  But some apps are not lifecycle stopped, e.g. music. So we should have
  unity8 tell the app to stop rendering.

  
  This will be a multi-step process:
  1. Qtubuntu
  Mir has a attribute to set on surfaces to tell them they are 
visible/occluded: (see mir/include/common/mir_toolkit/common.h)
  mir_surface_attrib_visibility - part of the MirSurfaceAttrib enum. 

  This indicates these possible values:
  typedef enum MirSurfaceVisibility
  {
  mir_surface_visibility_occluded = 0,
  mir_surface_visibility_exposed
  } MirSurfaceVisibility;

  On the client side (qtubuntu), you need to listen for this attribute change, 
and connect it to QWindowSystemInterface::handleExposeEvent() which tells Qt 
how much of a QWindow is being drawn.
  Note there is also a QWindowSystemInterface::handleWindowStateChanged() 
handler, which use use to explicitly set QWindow show/hide, but Qt tends to 
release its GL context on hide, which we may not desire. It may not hurt, worth 
a look.

  2. QtMir
  There are methods on mir::scene::Surface to set and get the MirSurfaceAttrib 
attributes. I think it would make sense to use the pre-existing 
MirSurfaceItem::visible property, so that if a surface is marked visible=false, 
then that will dispatch the mir_surface_visibility_occluded event to the 
client, so it will stop drawing.

  3. Unity8
  Correctly set visible=false when an application surface is occluded, and true 
when visible. QML has no automatic way of doing that (i.e. occlusion detection)

To manage notifications about this bug go to:
https://bugs.launchpad.net/canonical-devices-system-image/+bug/1475678/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1475678] Re: Unity8 not informing clients that they are not visible and thus can stop rendering

2016-03-09 Thread Michał Sawicz
** Changed in: canonical-devices-system-image
Milestone: ww08-2016 => 11

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to unity8 in Ubuntu.
https://bugs.launchpad.net/bugs/1475678

Title:
  Unity8 not informing clients that they are not visible and thus can
  stop rendering

Status in Canonical System Image:
  In Progress
Status in QtMir:
  In Progress
Status in unity8 package in Ubuntu:
  In Progress

Bug description:
  Currently on the phone, apps stop rendering when shell hides them,
  because shell also lifecycle stops the app. App isn't actually told it
  should stop rendering, we just SIGSTOP its process.

  But some apps are not lifecycle stopped, e.g. music. So we should have
  unity8 tell the app to stop rendering.

  
  This will be a multi-step process:
  1. Qtubuntu
  Mir has a attribute to set on surfaces to tell them they are 
visible/occluded: (see mir/include/common/mir_toolkit/common.h)
  mir_surface_attrib_visibility - part of the MirSurfaceAttrib enum. 

  This indicates these possible values:
  typedef enum MirSurfaceVisibility
  {
  mir_surface_visibility_occluded = 0,
  mir_surface_visibility_exposed
  } MirSurfaceVisibility;

  On the client side (qtubuntu), you need to listen for this attribute change, 
and connect it to QWindowSystemInterface::handleExposeEvent() which tells Qt 
how much of a QWindow is being drawn.
  Note there is also a QWindowSystemInterface::handleWindowStateChanged() 
handler, which use use to explicitly set QWindow show/hide, but Qt tends to 
release its GL context on hide, which we may not desire. It may not hurt, worth 
a look.

  2. QtMir
  There are methods on mir::scene::Surface to set and get the MirSurfaceAttrib 
attributes. I think it would make sense to use the pre-existing 
MirSurfaceItem::visible property, so that if a surface is marked visible=false, 
then that will dispatch the mir_surface_visibility_occluded event to the 
client, so it will stop drawing.

  3. Unity8
  Correctly set visible=false when an application surface is occluded, and true 
when visible. QML has no automatic way of doing that (i.e. occlusion detection)

To manage notifications about this bug go to:
https://bugs.launchpad.net/canonical-devices-system-image/+bug/1475678/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1475678] Re: Unity8 not informing clients that they are not visible and thus can stop rendering

2016-02-04 Thread Michał Sawicz
** Changed in: canonical-devices-system-image
 Assignee: kevin gunn (kgunn72) => Michał Sawicz (saviq)

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to unity8 in Ubuntu.
https://bugs.launchpad.net/bugs/1475678

Title:
  Unity8 not informing clients that they are not visible and thus can
  stop rendering

Status in Canonical System Image:
  In Progress
Status in QtMir:
  In Progress
Status in unity8 package in Ubuntu:
  In Progress

Bug description:
  Currently on the phone, apps stop rendering when shell hides them,
  because shell also lifecycle stops the app. App isn't actually told it
  should stop rendering, we just SIGSTOP its process.

  But some apps are not lifecycle stopped, e.g. music. So we should have
  unity8 tell the app to stop rendering.

  
  This will be a multi-step process:
  1. Qtubuntu
  Mir has a attribute to set on surfaces to tell them they are 
visible/occluded: (see mir/include/common/mir_toolkit/common.h)
  mir_surface_attrib_visibility - part of the MirSurfaceAttrib enum. 

  This indicates these possible values:
  typedef enum MirSurfaceVisibility
  {
  mir_surface_visibility_occluded = 0,
  mir_surface_visibility_exposed
  } MirSurfaceVisibility;

  On the client side (qtubuntu), you need to listen for this attribute change, 
and connect it to QWindowSystemInterface::handleExposeEvent() which tells Qt 
how much of a QWindow is being drawn.
  Note there is also a QWindowSystemInterface::handleWindowStateChanged() 
handler, which use use to explicitly set QWindow show/hide, but Qt tends to 
release its GL context on hide, which we may not desire. It may not hurt, worth 
a look.

  2. QtMir
  There are methods on mir::scene::Surface to set and get the MirSurfaceAttrib 
attributes. I think it would make sense to use the pre-existing 
MirSurfaceItem::visible property, so that if a surface is marked visible=false, 
then that will dispatch the mir_surface_visibility_occluded event to the 
client, so it will stop drawing.

  3. Unity8
  Correctly set visible=false when an application surface is occluded, and true 
when visible. QML has no automatic way of doing that (i.e. occlusion detection)

To manage notifications about this bug go to:
https://bugs.launchpad.net/canonical-devices-system-image/+bug/1475678/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1475678] Re: Unity8 not informing clients that they are not visible and thus can stop rendering

2016-01-20 Thread Nick Dedekind
** Branch linked: lp:~nick-dedekind/qtubuntu/occlusion-2.0

** Branch linked: lp:~nick-dedekind/qtmir/occlusion-2.0

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to unity8 in Ubuntu.
https://bugs.launchpad.net/bugs/1475678

Title:
  Unity8 not informing clients that they are not visible and thus can
  stop rendering

Status in Canonical System Image:
  In Progress
Status in QtMir:
  In Progress
Status in unity8 package in Ubuntu:
  In Progress

Bug description:
  Currently on the phone, apps stop rendering when shell hides them,
  because shell also lifecycle stops the app. App isn't actually told it
  should stop rendering, we just SIGSTOP its process.

  But some apps are not lifecycle stopped, e.g. music. So we should have
  unity8 tell the app to stop rendering.

  
  This will be a multi-step process:
  1. Qtubuntu
  Mir has a attribute to set on surfaces to tell them they are 
visible/occluded: (see mir/include/common/mir_toolkit/common.h)
  mir_surface_attrib_visibility - part of the MirSurfaceAttrib enum. 

  This indicates these possible values:
  typedef enum MirSurfaceVisibility
  {
  mir_surface_visibility_occluded = 0,
  mir_surface_visibility_exposed
  } MirSurfaceVisibility;

  On the client side (qtubuntu), you need to listen for this attribute change, 
and connect it to QWindowSystemInterface::handleExposeEvent() which tells Qt 
how much of a QWindow is being drawn.
  Note there is also a QWindowSystemInterface::handleWindowStateChanged() 
handler, which use use to explicitly set QWindow show/hide, but Qt tends to 
release its GL context on hide, which we may not desire. It may not hurt, worth 
a look.

  2. QtMir
  There are methods on mir::scene::Surface to set and get the MirSurfaceAttrib 
attributes. I think it would make sense to use the pre-existing 
MirSurfaceItem::visible property, so that if a surface is marked visible=false, 
then that will dispatch the mir_surface_visibility_occluded event to the 
client, so it will stop drawing.

  3. Unity8
  Correctly set visible=false when an application surface is occluded, and true 
when visible. QML has no automatic way of doing that (i.e. occlusion detection)

To manage notifications about this bug go to:
https://bugs.launchpad.net/canonical-devices-system-image/+bug/1475678/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1475678] Re: Unity8 not informing clients that they are not visible and thus can stop rendering

2016-01-19 Thread Pat McGowan
** Changed in: canonical-devices-system-image
Milestone: ww02-2016 => ww08-2016

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to unity8 in Ubuntu.
https://bugs.launchpad.net/bugs/1475678

Title:
  Unity8 not informing clients that they are not visible and thus can
  stop rendering

Status in Canonical System Image:
  In Progress
Status in QtMir:
  In Progress
Status in unity8 package in Ubuntu:
  In Progress

Bug description:
  Currently on the phone, apps stop rendering when shell hides them,
  because shell also lifecycle stops the app. App isn't actually told it
  should stop rendering, we just SIGSTOP its process.

  But some apps are not lifecycle stopped, e.g. music. So we should have
  unity8 tell the app to stop rendering.

  
  This will be a multi-step process:
  1. Qtubuntu
  Mir has a attribute to set on surfaces to tell them they are 
visible/occluded: (see mir/include/common/mir_toolkit/common.h)
  mir_surface_attrib_visibility - part of the MirSurfaceAttrib enum. 

  This indicates these possible values:
  typedef enum MirSurfaceVisibility
  {
  mir_surface_visibility_occluded = 0,
  mir_surface_visibility_exposed
  } MirSurfaceVisibility;

  On the client side (qtubuntu), you need to listen for this attribute change, 
and connect it to QWindowSystemInterface::handleExposeEvent() which tells Qt 
how much of a QWindow is being drawn.
  Note there is also a QWindowSystemInterface::handleWindowStateChanged() 
handler, which use use to explicitly set QWindow show/hide, but Qt tends to 
release its GL context on hide, which we may not desire. It may not hurt, worth 
a look.

  2. QtMir
  There are methods on mir::scene::Surface to set and get the MirSurfaceAttrib 
attributes. I think it would make sense to use the pre-existing 
MirSurfaceItem::visible property, so that if a surface is marked visible=false, 
then that will dispatch the mir_surface_visibility_occluded event to the 
client, so it will stop drawing.

  3. Unity8
  Correctly set visible=false when an application surface is occluded, and true 
when visible. QML has no automatic way of doing that (i.e. occlusion detection)

To manage notifications about this bug go to:
https://bugs.launchpad.net/canonical-devices-system-image/+bug/1475678/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1475678] Re: Unity8 not informing clients that they are not visible and thus can stop rendering

2015-12-03 Thread Daniel d'Andrada
** Branch unlinked: lp:~macslow/unity8/fix-1475678

** Branch unlinked: lp:~macslow/qtubuntu/fix-1475678

** Branch unlinked: lp:~macslow/qtmir/fix-1475678

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to unity8 in Ubuntu.
https://bugs.launchpad.net/bugs/1475678

Title:
  Unity8 not informing clients that they are not visible and thus can
  stop rendering

Status in Canonical System Image:
  In Progress
Status in QtMir:
  In Progress
Status in unity8 package in Ubuntu:
  In Progress

Bug description:
  Currently on the phone, apps stop rendering when shell hides them,
  because shell also lifecycle stops the app. App isn't actually told it
  should stop rendering, we just SIGSTOP its process.

  But some apps are not lifecycle stopped, e.g. music. So we should have
  unity8 tell the app to stop rendering.

  
  This will be a multi-step process:
  1. Qtubuntu
  Mir has a attribute to set on surfaces to tell them they are 
visible/occluded: (see mir/include/common/mir_toolkit/common.h)
  mir_surface_attrib_visibility - part of the MirSurfaceAttrib enum. 

  This indicates these possible values:
  typedef enum MirSurfaceVisibility
  {
  mir_surface_visibility_occluded = 0,
  mir_surface_visibility_exposed
  } MirSurfaceVisibility;

  On the client side (qtubuntu), you need to listen for this attribute change, 
and connect it to QWindowSystemInterface::handleExposeEvent() which tells Qt 
how much of a QWindow is being drawn.
  Note there is also a QWindowSystemInterface::handleWindowStateChanged() 
handler, which use use to explicitly set QWindow show/hide, but Qt tends to 
release its GL context on hide, which we may not desire. It may not hurt, worth 
a look.

  2. QtMir
  There are methods on mir::scene::Surface to set and get the MirSurfaceAttrib 
attributes. I think it would make sense to use the pre-existing 
MirSurfaceItem::visible property, so that if a surface is marked visible=false, 
then that will dispatch the mir_surface_visibility_occluded event to the 
client, so it will stop drawing.

  3. Unity8
  Correctly set visible=false when an application surface is occluded, and true 
when visible. QML has no automatic way of doing that (i.e. occlusion detection)

To manage notifications about this bug go to:
https://bugs.launchpad.net/canonical-devices-system-image/+bug/1475678/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1475678] Re: Unity8 not informing clients that they are not visible and thus can stop rendering

2015-12-03 Thread Pat McGowan
** Changed in: canonical-devices-system-image
Milestone: ww46-2015 => ww02-2016

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to unity8 in Ubuntu.
https://bugs.launchpad.net/bugs/1475678

Title:
  Unity8 not informing clients that they are not visible and thus can
  stop rendering

Status in Canonical System Image:
  In Progress
Status in QtMir:
  In Progress
Status in unity8 package in Ubuntu:
  In Progress

Bug description:
  Currently on the phone, apps stop rendering when shell hides them,
  because shell also lifecycle stops the app. App isn't actually told it
  should stop rendering, we just SIGSTOP its process.

  But some apps are not lifecycle stopped, e.g. music. So we should have
  unity8 tell the app to stop rendering.

  
  This will be a multi-step process:
  1. Qtubuntu
  Mir has a attribute to set on surfaces to tell them they are 
visible/occluded: (see mir/include/common/mir_toolkit/common.h)
  mir_surface_attrib_visibility - part of the MirSurfaceAttrib enum. 

  This indicates these possible values:
  typedef enum MirSurfaceVisibility
  {
  mir_surface_visibility_occluded = 0,
  mir_surface_visibility_exposed
  } MirSurfaceVisibility;

  On the client side (qtubuntu), you need to listen for this attribute change, 
and connect it to QWindowSystemInterface::handleExposeEvent() which tells Qt 
how much of a QWindow is being drawn.
  Note there is also a QWindowSystemInterface::handleWindowStateChanged() 
handler, which use use to explicitly set QWindow show/hide, but Qt tends to 
release its GL context on hide, which we may not desire. It may not hurt, worth 
a look.

  2. QtMir
  There are methods on mir::scene::Surface to set and get the MirSurfaceAttrib 
attributes. I think it would make sense to use the pre-existing 
MirSurfaceItem::visible property, so that if a surface is marked visible=false, 
then that will dispatch the mir_surface_visibility_occluded event to the 
client, so it will stop drawing.

  3. Unity8
  Correctly set visible=false when an application surface is occluded, and true 
when visible. QML has no automatic way of doing that (i.e. occlusion detection)

To manage notifications about this bug go to:
https://bugs.launchpad.net/canonical-devices-system-image/+bug/1475678/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1475678] Re: Unity8 not informing clients that they are not visible and thus can stop rendering

2015-11-30 Thread Michał Sawicz
** Changed in: canonical-devices-system-image
   Status: Fix Released => Triaged

** Changed in: unity8 (Ubuntu)
   Status: Fix Released => Triaged

** Changed in: unity8 (Ubuntu)
   Status: Triaged => Fix Committed

** Changed in: unity8 (Ubuntu)
   Status: Fix Committed => In Progress

** Changed in: canonical-devices-system-image
   Status: Triaged => In Progress

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to unity8 in Ubuntu.
https://bugs.launchpad.net/bugs/1475678

Title:
  Unity8 not informing clients that they are not visible and thus can
  stop rendering

Status in Canonical System Image:
  In Progress
Status in QtMir:
  In Progress
Status in unity8 package in Ubuntu:
  In Progress

Bug description:
  Currently on the phone, apps stop rendering when shell hides them,
  because shell also lifecycle stops the app. App isn't actually told it
  should stop rendering, we just SIGSTOP its process.

  But some apps are not lifecycle stopped, e.g. music. So we should have
  unity8 tell the app to stop rendering.

  
  This will be a multi-step process:
  1. Qtubuntu
  Mir has a attribute to set on surfaces to tell them they are 
visible/occluded: (see mir/include/common/mir_toolkit/common.h)
  mir_surface_attrib_visibility - part of the MirSurfaceAttrib enum. 

  This indicates these possible values:
  typedef enum MirSurfaceVisibility
  {
  mir_surface_visibility_occluded = 0,
  mir_surface_visibility_exposed
  } MirSurfaceVisibility;

  On the client side (qtubuntu), you need to listen for this attribute change, 
and connect it to QWindowSystemInterface::handleExposeEvent() which tells Qt 
how much of a QWindow is being drawn.
  Note there is also a QWindowSystemInterface::handleWindowStateChanged() 
handler, which use use to explicitly set QWindow show/hide, but Qt tends to 
release its GL context on hide, which we may not desire. It may not hurt, worth 
a look.

  2. QtMir
  There are methods on mir::scene::Surface to set and get the MirSurfaceAttrib 
attributes. I think it would make sense to use the pre-existing 
MirSurfaceItem::visible property, so that if a surface is marked visible=false, 
then that will dispatch the mir_surface_visibility_occluded event to the 
client, so it will stop drawing.

  3. Unity8
  Correctly set visible=false when an application surface is occluded, and true 
when visible. QML has no automatic way of doing that (i.e. occlusion detection)

To manage notifications about this bug go to:
https://bugs.launchpad.net/canonical-devices-system-image/+bug/1475678/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1475678] Re: Unity8 not informing clients that they are not visible and thus can stop rendering

2015-11-19 Thread Pat McGowan
** Changed in: canonical-devices-system-image
   Status: Fix Committed => Fix Released

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to unity8 in Ubuntu.
https://bugs.launchpad.net/bugs/1475678

Title:
  Unity8 not informing clients that they are not visible and thus can
  stop rendering

Status in Canonical System Image:
  Fix Released
Status in QtMir:
  In Progress
Status in unity8 package in Ubuntu:
  Fix Released

Bug description:
  Currently on the phone, apps stop rendering when shell hides them,
  because shell also lifecycle stops the app. App isn't actually told it
  should stop rendering, we just SIGSTOP its process.

  But some apps are not lifecycle stopped, e.g. music. So we should have
  unity8 tell the app to stop rendering.

  
  This will be a multi-step process:
  1. Qtubuntu
  Mir has a attribute to set on surfaces to tell them they are 
visible/occluded: (see mir/include/common/mir_toolkit/common.h)
  mir_surface_attrib_visibility - part of the MirSurfaceAttrib enum. 

  This indicates these possible values:
  typedef enum MirSurfaceVisibility
  {
  mir_surface_visibility_occluded = 0,
  mir_surface_visibility_exposed
  } MirSurfaceVisibility;

  On the client side (qtubuntu), you need to listen for this attribute change, 
and connect it to QWindowSystemInterface::handleExposeEvent() which tells Qt 
how much of a QWindow is being drawn.
  Note there is also a QWindowSystemInterface::handleWindowStateChanged() 
handler, which use use to explicitly set QWindow show/hide, but Qt tends to 
release its GL context on hide, which we may not desire. It may not hurt, worth 
a look.

  2. QtMir
  There are methods on mir::scene::Surface to set and get the MirSurfaceAttrib 
attributes. I think it would make sense to use the pre-existing 
MirSurfaceItem::visible property, so that if a surface is marked visible=false, 
then that will dispatch the mir_surface_visibility_occluded event to the 
client, so it will stop drawing.

  3. Unity8
  Correctly set visible=false when an application surface is occluded, and true 
when visible. QML has no automatic way of doing that (i.e. occlusion detection)

To manage notifications about this bug go to:
https://bugs.launchpad.net/canonical-devices-system-image/+bug/1475678/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1475678] Re: Unity8 not informing clients that they are not visible and thus can stop rendering

2015-11-06 Thread Jean-Baptiste Lallement
** Changed in: canonical-devices-system-image
   Status: In Progress => Fix Committed

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to unity8 in Ubuntu.
https://bugs.launchpad.net/bugs/1475678

Title:
  Unity8 not informing clients that they are not visible and thus can
  stop rendering

Status in Canonical System Image:
  Fix Committed
Status in QtMir:
  In Progress
Status in unity8 package in Ubuntu:
  In Progress

Bug description:
  Currently on the phone, apps stop rendering when shell hides them,
  because shell also lifecycle stops the app. App isn't actually told it
  should stop rendering, we just SIGSTOP its process.

  But some apps are not lifecycle stopped, e.g. music. So we should have
  unity8 tell the app to stop rendering.

  
  This will be a multi-step process:
  1. Qtubuntu
  Mir has a attribute to set on surfaces to tell them they are 
visible/occluded: (see mir/include/common/mir_toolkit/common.h)
  mir_surface_attrib_visibility - part of the MirSurfaceAttrib enum. 

  This indicates these possible values:
  typedef enum MirSurfaceVisibility
  {
  mir_surface_visibility_occluded = 0,
  mir_surface_visibility_exposed
  } MirSurfaceVisibility;

  On the client side (qtubuntu), you need to listen for this attribute change, 
and connect it to QWindowSystemInterface::handleExposeEvent() which tells Qt 
how much of a QWindow is being drawn.
  Note there is also a QWindowSystemInterface::handleWindowStateChanged() 
handler, which use use to explicitly set QWindow show/hide, but Qt tends to 
release its GL context on hide, which we may not desire. It may not hurt, worth 
a look.

  2. QtMir
  There are methods on mir::scene::Surface to set and get the MirSurfaceAttrib 
attributes. I think it would make sense to use the pre-existing 
MirSurfaceItem::visible property, so that if a surface is marked visible=false, 
then that will dispatch the mir_surface_visibility_occluded event to the 
client, so it will stop drawing.

  3. Unity8
  Correctly set visible=false when an application surface is occluded, and true 
when visible. QML has no automatic way of doing that (i.e. occlusion detection)

To manage notifications about this bug go to:
https://bugs.launchpad.net/canonical-devices-system-image/+bug/1475678/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1475678] Re: Unity8 not informing clients that they are not visible and thus can stop rendering

2015-11-06 Thread Launchpad Bug Tracker
This bug was fixed in the package unity8 - 8.11+16.04.20151104-0ubuntu1

---
unity8 (8.11+16.04.20151104-0ubuntu1) xenial; urgency=medium

  [ Albert Astals Cid ]
  * Add an Item that proxies for old and new audio roles (LP: #1493851)
  * CroppedImageMinimumSourceSize: Fix 'Binding loop detected for
property "imageAspectRatio"'
  * Make the scope settings list scroll to text visible area (LP:
#1499084)
  * Move to importing QtQuick 2.4 & friends
  * Use SDK 1.3 across all files (LP: #1503498, #1508363, #1449628)

  [ Andrea Cimitan ]
  * Add sharing widget to zoomable image and video playback
  * Make zoomable and video playback widgets edge to edge
  * Updated all 1.3 UbuntuShape to use new APIs where possible
  * Use SDK 1.3 across all files (LP: #1503498, #1508363, #1449628)

  [ CI Train Bot ]
  * Resync trunk.

  [ Christopher Lee ]
  * Quick spelling fix in process control output.

  [ Daniel d'Andrada ]
  * Enable support for overriding application orientations based on
device type (LP: #1478637)
  * Use SDK 1.3 across all files (LP: #1503498, #1508363, #1449628)
  * Use SDK 1.3 across all files (LP: #1503498, #1508363, #1449628)

  [ Josh Arenson ]
  * Enable support for overriding application orientations based on
device type (LP: #1478637)

  [ Michael Terry ]
  * Avoid showing the shutdown dialog when turning on the screen if your
device is under heavy load. (LP: #1508563)
  * Handle lifecycle policy exceptions ourselves, instead of letting
qtmir do it for us and allow non-Touch apps to opt-out of the Touch
lifecycle.

  [ Michael Zanetti ]
  * Fixes for the panel buttons (LP: #1510360, #1504269, #1431566,
#1443319)
  * Use SDK 1.3 across all files (LP: #1503498, #1508363, #1449628)

  [ Michał Sawicz ]
  * Add missing copyright to Cursor.qml
  * Enable support for overriding application orientations based on
device type (LP: #1478637)
  * Support server->client visibility change to stop rendering
(lp:#1475678) (LP: #1475678)

  [ Nick Dedekind ]
  * Support server->client visibility change to stop rendering
(lp:#1475678) (LP: #1475678)

 -- Michał Sawicz   Wed, 04 Nov 2015
14:58:41 +

** Changed in: unity8 (Ubuntu)
   Status: In Progress => Fix Released

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to unity8 in Ubuntu.
https://bugs.launchpad.net/bugs/1475678

Title:
  Unity8 not informing clients that they are not visible and thus can
  stop rendering

Status in Canonical System Image:
  Fix Committed
Status in QtMir:
  In Progress
Status in unity8 package in Ubuntu:
  Fix Released

Bug description:
  Currently on the phone, apps stop rendering when shell hides them,
  because shell also lifecycle stops the app. App isn't actually told it
  should stop rendering, we just SIGSTOP its process.

  But some apps are not lifecycle stopped, e.g. music. So we should have
  unity8 tell the app to stop rendering.

  
  This will be a multi-step process:
  1. Qtubuntu
  Mir has a attribute to set on surfaces to tell them they are 
visible/occluded: (see mir/include/common/mir_toolkit/common.h)
  mir_surface_attrib_visibility - part of the MirSurfaceAttrib enum. 

  This indicates these possible values:
  typedef enum MirSurfaceVisibility
  {
  mir_surface_visibility_occluded = 0,
  mir_surface_visibility_exposed
  } MirSurfaceVisibility;

  On the client side (qtubuntu), you need to listen for this attribute change, 
and connect it to QWindowSystemInterface::handleExposeEvent() which tells Qt 
how much of a QWindow is being drawn.
  Note there is also a QWindowSystemInterface::handleWindowStateChanged() 
handler, which use use to explicitly set QWindow show/hide, but Qt tends to 
release its GL context on hide, which we may not desire. It may not hurt, worth 
a look.

  2. QtMir
  There are methods on mir::scene::Surface to set and get the MirSurfaceAttrib 
attributes. I think it would make sense to use the pre-existing 
MirSurfaceItem::visible property, so that if a surface is marked visible=false, 
then that will dispatch the mir_surface_visibility_occluded event to the 
client, so it will stop drawing.

  3. Unity8
  Correctly set visible=false when an application surface is occluded, and true 
when visible. QML has no automatic way of doing that (i.e. occlusion detection)

To manage notifications about this bug go to:
https://bugs.launchpad.net/canonical-devices-system-image/+bug/1475678/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1475678] Re: Unity8 not informing clients that they are not visible and thus can stop rendering

2015-10-29 Thread Michał Sawicz
** Branch linked: lp:~unity-team/unity8/lp1475678.surface-occlude

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to unity8 in Ubuntu.
https://bugs.launchpad.net/bugs/1475678

Title:
  Unity8 not informing clients that they are not visible and thus can
  stop rendering

Status in Canonical System Image:
  In Progress
Status in QtMir:
  In Progress
Status in unity8 package in Ubuntu:
  In Progress

Bug description:
  Currently on the phone, apps stop rendering when shell hides them,
  because shell also lifecycle stops the app. App isn't actually told it
  should stop rendering, we just SIGSTOP its process.

  But some apps are not lifecycle stopped, e.g. music. So we should have
  unity8 tell the app to stop rendering.

  
  This will be a multi-step process:
  1. Qtubuntu
  Mir has a attribute to set on surfaces to tell them they are 
visible/occluded: (see mir/include/common/mir_toolkit/common.h)
  mir_surface_attrib_visibility - part of the MirSurfaceAttrib enum. 

  This indicates these possible values:
  typedef enum MirSurfaceVisibility
  {
  mir_surface_visibility_occluded = 0,
  mir_surface_visibility_exposed
  } MirSurfaceVisibility;

  On the client side (qtubuntu), you need to listen for this attribute change, 
and connect it to QWindowSystemInterface::handleExposeEvent() which tells Qt 
how much of a QWindow is being drawn.
  Note there is also a QWindowSystemInterface::handleWindowStateChanged() 
handler, which use use to explicitly set QWindow show/hide, but Qt tends to 
release its GL context on hide, which we may not desire. It may not hurt, worth 
a look.

  2. QtMir
  There are methods on mir::scene::Surface to set and get the MirSurfaceAttrib 
attributes. I think it would make sense to use the pre-existing 
MirSurfaceItem::visible property, so that if a surface is marked visible=false, 
then that will dispatch the mir_surface_visibility_occluded event to the 
client, so it will stop drawing.

  3. Unity8
  Correctly set visible=false when an application surface is occluded, and true 
when visible. QML has no automatic way of doing that (i.e. occlusion detection)

To manage notifications about this bug go to:
https://bugs.launchpad.net/canonical-devices-system-image/+bug/1475678/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1475678] Re: Unity8 not informing clients that they are not visible and thus can stop rendering

2015-09-23 Thread Launchpad Bug Tracker
** Branch linked: lp:~nick-dedekind/unity-api/lp1475678.surface-occlude

** Branch linked: lp:~nick-dedekind/qtubuntu/lp1475678.surface-occlude

** Branch linked: lp:~nick-dedekind/qtmir/lp1475678.surface-occlude

** Branch linked: lp:~nick-dedekind/unity8/lp1475678.surface-occlude

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to unity8 in Ubuntu.
https://bugs.launchpad.net/bugs/1475678

Title:
  Unity8 not informing clients that they are not visible and thus can
  stop rendering

Status in Canonical System Image:
  In Progress
Status in QtMir:
  In Progress
Status in unity8 package in Ubuntu:
  In Progress

Bug description:
  Currently on the phone, apps stop rendering when shell hides them,
  because shell also lifecycle stops the app. App isn't actually told it
  should stop rendering, we just SIGSTOP its process.

  But some apps are not lifecycle stopped, e.g. music. So we should have
  unity8 tell the app to stop rendering.

  
  This will be a multi-step process:
  1. Qtubuntu
  Mir has a attribute to set on surfaces to tell them they are 
visible/occluded: (see mir/include/common/mir_toolkit/common.h)
  mir_surface_attrib_visibility - part of the MirSurfaceAttrib enum. 

  This indicates these possible values:
  typedef enum MirSurfaceVisibility
  {
  mir_surface_visibility_occluded = 0,
  mir_surface_visibility_exposed
  } MirSurfaceVisibility;

  On the client side (qtubuntu), you need to listen for this attribute change, 
and connect it to QWindowSystemInterface::handleExposeEvent() which tells Qt 
how much of a QWindow is being drawn.
  Note there is also a QWindowSystemInterface::handleWindowStateChanged() 
handler, which use use to explicitly set QWindow show/hide, but Qt tends to 
release its GL context on hide, which we may not desire. It may not hurt, worth 
a look.

  2. QtMir
  There are methods on mir::scene::Surface to set and get the MirSurfaceAttrib 
attributes. I think it would make sense to use the pre-existing 
MirSurfaceItem::visible property, so that if a surface is marked visible=false, 
then that will dispatch the mir_surface_visibility_occluded event to the 
client, so it will stop drawing.

  3. Unity8
  Correctly set visible=false when an application surface is occluded, and true 
when visible. QML has no automatic way of doing that (i.e. occlusion detection)

To manage notifications about this bug go to:
https://bugs.launchpad.net/canonical-devices-system-image/+bug/1475678/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1475678] Re: Unity8 not informing clients that they are not visible and thus can stop rendering

2015-09-21 Thread Michał Sawicz
** Changed in: qtmir
 Assignee: (unassigned) => Nick Dedekind (nick-dedekind)

** Changed in: unity8 (Ubuntu)
 Assignee: (unassigned) => Nick Dedekind (nick-dedekind)

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to unity8 in Ubuntu.
https://bugs.launchpad.net/bugs/1475678

Title:
  Unity8 not informing clients that they are not visible and thus can
  stop rendering

Status in Canonical System Image:
  In Progress
Status in QtMir:
  In Progress
Status in unity8 package in Ubuntu:
  In Progress

Bug description:
  Currently on the phone, apps stop rendering when shell hides them,
  because shell also lifecycle stops the app. App isn't actually told it
  should stop rendering, we just SIGSTOP its process.

  But some apps are not lifecycle stopped, e.g. music. So we should have
  unity8 tell the app to stop rendering.

  
  This will be a multi-step process:
  1. Qtubuntu
  Mir has a attribute to set on surfaces to tell them they are 
visible/occluded: (see mir/include/common/mir_toolkit/common.h)
  mir_surface_attrib_visibility - part of the MirSurfaceAttrib enum. 

  This indicates these possible values:
  typedef enum MirSurfaceVisibility
  {
  mir_surface_visibility_occluded = 0,
  mir_surface_visibility_exposed
  } MirSurfaceVisibility;

  On the client side (qtubuntu), you need to listen for this attribute change, 
and connect it to QWindowSystemInterface::handleExposeEvent() which tells Qt 
how much of a QWindow is being drawn.
  Note there is also a QWindowSystemInterface::handleWindowStateChanged() 
handler, which use use to explicitly set QWindow show/hide, but Qt tends to 
release its GL context on hide, which we may not desire. It may not hurt, worth 
a look.

  2. QtMir
  There are methods on mir::scene::Surface to set and get the MirSurfaceAttrib 
attributes. I think it would make sense to use the pre-existing 
MirSurfaceItem::visible property, so that if a surface is marked visible=false, 
then that will dispatch the mir_surface_visibility_occluded event to the 
client, so it will stop drawing.

  3. Unity8
  Correctly set visible=false when an application surface is occluded, and true 
when visible. QML has no automatic way of doing that (i.e. occlusion detection)

To manage notifications about this bug go to:
https://bugs.launchpad.net/canonical-devices-system-image/+bug/1475678/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1475678] Re: Unity8 not informing clients that they are not visible and thus can stop rendering

2015-09-21 Thread Pat McGowan
** Also affects: canonical-devices-system-image
   Importance: Undecided
   Status: New

** Changed in: canonical-devices-system-image
   Importance: Undecided => High

** Changed in: canonical-devices-system-image
   Status: New => In Progress

** Changed in: canonical-devices-system-image
Milestone: None => ww46-2015

** Changed in: canonical-devices-system-image
 Assignee: (unassigned) => kevin gunn (kgunn72)

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to unity8 in Ubuntu.
https://bugs.launchpad.net/bugs/1475678

Title:
  Unity8 not informing clients that they are not visible and thus can
  stop rendering

Status in Canonical System Image:
  In Progress
Status in QtMir:
  In Progress
Status in qtubuntu:
  In Progress
Status in unity8 package in Ubuntu:
  In Progress

Bug description:
  Currently on the phone, apps stop rendering when shell hides them,
  because shell also lifecycle stops the app. App isn't actually told it
  should stop rendering, we just SIGSTOP its process.

  But some apps are not lifecycle stopped, e.g. music. So we should have
  unity8 tell the app to stop rendering.

  
  This will be a multi-step process:
  1. Qtubuntu
  Mir has a attribute to set on surfaces to tell them they are 
visible/occluded: (see mir/include/common/mir_toolkit/common.h)
  mir_surface_attrib_visibility - part of the MirSurfaceAttrib enum. 

  This indicates these possible values:
  typedef enum MirSurfaceVisibility
  {
  mir_surface_visibility_occluded = 0,
  mir_surface_visibility_exposed
  } MirSurfaceVisibility;

  On the client side (qtubuntu), you need to listen for this attribute change, 
and connect it to QWindowSystemInterface::handleExposeEvent() which tells Qt 
how much of a QWindow is being drawn.
  Note there is also a QWindowSystemInterface::handleWindowStateChanged() 
handler, which use use to explicitly set QWindow show/hide, but Qt tends to 
release its GL context on hide, which we may not desire. It may not hurt, worth 
a look.

  2. QtMir
  There are methods on mir::scene::Surface to set and get the MirSurfaceAttrib 
attributes. I think it would make sense to use the pre-existing 
MirSurfaceItem::visible property, so that if a surface is marked visible=false, 
then that will dispatch the mir_surface_visibility_occluded event to the 
client, so it will stop drawing.

  3. Unity8
  Correctly set visible=false when an application surface is occluded, and true 
when visible. QML has no automatic way of doing that (i.e. occlusion detection)

To manage notifications about this bug go to:
https://bugs.launchpad.net/canonical-devices-system-image/+bug/1475678/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1475678] Re: Unity8 not informing clients that they are not visible and thus can stop rendering

2015-09-21 Thread Michał Sawicz
** No longer affects: qtubuntu

** Changed in: qtmir
 Assignee: Mirco Müller (macslow) => (unassigned)

** Changed in: unity8 (Ubuntu)
 Assignee: Mirco Müller (macslow) => (unassigned)

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to unity8 in Ubuntu.
https://bugs.launchpad.net/bugs/1475678

Title:
  Unity8 not informing clients that they are not visible and thus can
  stop rendering

Status in Canonical System Image:
  In Progress
Status in QtMir:
  In Progress
Status in unity8 package in Ubuntu:
  In Progress

Bug description:
  Currently on the phone, apps stop rendering when shell hides them,
  because shell also lifecycle stops the app. App isn't actually told it
  should stop rendering, we just SIGSTOP its process.

  But some apps are not lifecycle stopped, e.g. music. So we should have
  unity8 tell the app to stop rendering.

  
  This will be a multi-step process:
  1. Qtubuntu
  Mir has a attribute to set on surfaces to tell them they are 
visible/occluded: (see mir/include/common/mir_toolkit/common.h)
  mir_surface_attrib_visibility - part of the MirSurfaceAttrib enum. 

  This indicates these possible values:
  typedef enum MirSurfaceVisibility
  {
  mir_surface_visibility_occluded = 0,
  mir_surface_visibility_exposed
  } MirSurfaceVisibility;

  On the client side (qtubuntu), you need to listen for this attribute change, 
and connect it to QWindowSystemInterface::handleExposeEvent() which tells Qt 
how much of a QWindow is being drawn.
  Note there is also a QWindowSystemInterface::handleWindowStateChanged() 
handler, which use use to explicitly set QWindow show/hide, but Qt tends to 
release its GL context on hide, which we may not desire. It may not hurt, worth 
a look.

  2. QtMir
  There are methods on mir::scene::Surface to set and get the MirSurfaceAttrib 
attributes. I think it would make sense to use the pre-existing 
MirSurfaceItem::visible property, so that if a surface is marked visible=false, 
then that will dispatch the mir_surface_visibility_occluded event to the 
client, so it will stop drawing.

  3. Unity8
  Correctly set visible=false when an application surface is occluded, and true 
when visible. QML has no automatic way of doing that (i.e. occlusion detection)

To manage notifications about this bug go to:
https://bugs.launchpad.net/canonical-devices-system-image/+bug/1475678/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1475678] Re: Unity8 not informing clients that they are not visible and thus can stop rendering

2015-07-23 Thread Michael Zanetti
Should probably be added to this Qt api:

http://doc.qt.io/qt-5/qml-qtqml-qt.html#application-prop

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to unity8 in Ubuntu.
https://bugs.launchpad.net/bugs/1475678

Title:
  Unity8 not informing clients that they are not visible and thus can
  stop rendering

Status in QtMir:
  In Progress
Status in qtubuntu:
  In Progress
Status in unity8 package in Ubuntu:
  In Progress

Bug description:
  Currently on the phone, apps stop rendering when shell hides them,
  because shell also lifecycle stops the app. App isn't actually told it
  should stop rendering, we just SIGSTOP its process.

  But some apps are not lifecycle stopped, e.g. music. So we should have
  unity8 tell the app to stop rendering.

  
  This will be a multi-step process:
  1. Qtubuntu
  Mir has a attribute to set on surfaces to tell them they are 
visible/occluded: (see mir/include/common/mir_toolkit/common.h)
  mir_surface_attrib_visibility - part of the MirSurfaceAttrib enum. 

  This indicates these possible values:
  typedef enum MirSurfaceVisibility
  {
  mir_surface_visibility_occluded = 0,
  mir_surface_visibility_exposed
  } MirSurfaceVisibility;

  On the client side (qtubuntu), you need to listen for this attribute change, 
and connect it to QWindowSystemInterface::handleExposeEvent() which tells Qt 
how much of a QWindow is being drawn.
  Note there is also a QWindowSystemInterface::handleWindowStateChanged() 
handler, which use use to explicitly set QWindow show/hide, but Qt tends to 
release its GL context on hide, which we may not desire. It may not hurt, worth 
a look.

  2. QtMir
  There are methods on mir::scene::Surface to set and get the MirSurfaceAttrib 
attributes. I think it would make sense to use the pre-existing 
MirSurfaceItem::visible property, so that if a surface is marked visible=false, 
then that will dispatch the mir_surface_visibility_occluded event to the 
client, so it will stop drawing.

  3. Unity8
  Correctly set visible=false when an application surface is occluded, and true 
when visible. QML has no automatic way of doing that (i.e. occlusion detection)

To manage notifications about this bug go to:
https://bugs.launchpad.net/qtmir/+bug/1475678/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1475678] Re: Unity8 not informing clients that they are not visible and thus can stop rendering

2015-07-21 Thread Mirco Müller
** Branch linked: lp:~macslow/qtmir/fix-1475678

** Branch linked: lp:~macslow/qtubuntu/fix-1475678

** Branch linked: lp:~macslow/unity8/fix-1475678

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to unity8 in Ubuntu.
https://bugs.launchpad.net/bugs/1475678

Title:
  Unity8 not informing clients that they are not visible and thus can
  stop rendering

Status in QtMir:
  In Progress
Status in qtubuntu:
  In Progress
Status in unity8 package in Ubuntu:
  In Progress

Bug description:
  Currently on the phone, apps stop rendering when shell hides them,
  because shell also lifecycle stops the app. App isn't actually told it
  should stop rendering, we just SIGSTOP its process.

  But some apps are not lifecycle stopped, e.g. music. So we should have
  unity8 tell the app to stop rendering.

  
  This will be a multi-step process:
  1. Qtubuntu
  Mir has a attribute to set on surfaces to tell them they are 
visible/occluded: (see mir/include/common/mir_toolkit/common.h)
  mir_surface_attrib_visibility - part of the MirSurfaceAttrib enum. 

  This indicates these possible values:
  typedef enum MirSurfaceVisibility
  {
  mir_surface_visibility_occluded = 0,
  mir_surface_visibility_exposed
  } MirSurfaceVisibility;

  On the client side (qtubuntu), you need to listen for this attribute change, 
and connect it to QWindowSystemInterface::handleExposeEvent() which tells Qt 
how much of a QWindow is being drawn.
  Note there is also a QWindowSystemInterface::handleWindowStateChanged() 
handler, which use use to explicitly set QWindow show/hide, but Qt tends to 
release its GL context on hide, which we may not desire. It may not hurt, worth 
a look.

  2. QtMir
  There are methods on mir::scene::Surface to set and get the MirSurfaceAttrib 
attributes. I think it would make sense to use the pre-existing 
MirSurfaceItem::visible property, so that if a surface is marked visible=false, 
then that will dispatch the mir_surface_visibility_occluded event to the 
client, so it will stop drawing.

  3. Unity8
  Correctly set visible=false when an application surface is occluded, and true 
when visible. QML has no automatic way of doing that (i.e. occlusion detection)

To manage notifications about this bug go to:
https://bugs.launchpad.net/qtmir/+bug/1475678/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1475678] Re: Unity8 not informing clients that they are not visible and thus can stop rendering

2015-07-20 Thread Mirco Müller
** Changed in: qtmir
   Importance: Undecided = High

** Changed in: qtubuntu
   Importance: Undecided = High

** Changed in: unity8 (Ubuntu)
   Importance: Undecided = High

** Changed in: qtmir
   Status: New = In Progress

** Changed in: qtubuntu
   Status: New = In Progress

** Changed in: unity8 (Ubuntu)
   Status: New = In Progress

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to unity8 in Ubuntu.
https://bugs.launchpad.net/bugs/1475678

Title:
  Unity8 not informing clients that they are not visible and thus can
  stop rendering

Status in QtMir:
  In Progress
Status in qtubuntu:
  In Progress
Status in unity8 package in Ubuntu:
  In Progress

Bug description:
  Currently on the phone, apps stop rendering when shell hides them,
  because shell also lifecycle stops the app. App isn't actually told it
  should stop rendering, we just SIGSTOP its process.

  But some apps are not lifecycle stopped, e.g. music. So we should have
  unity8 tell the app to stop rendering.

  
  This will be a multi-step process:
  1. Qtubuntu
  Mir has a attribute to set on surfaces to tell them they are 
visible/occluded: (see mir/include/common/mir_toolkit/common.h)
  mir_surface_attrib_visibility - part of the MirSurfaceAttrib enum. 

  This indicates these possible values:
  typedef enum MirSurfaceVisibility
  {
  mir_surface_visibility_occluded = 0,
  mir_surface_visibility_exposed
  } MirSurfaceVisibility;

  On the client side (qtubuntu), you need to listen for this attribute change, 
and connect it to QWindowSystemInterface::handleExposeEvent() which tells Qt 
how much of a QWindow is being drawn.
  Note there is also a QWindowSystemInterface::handleWindowStateChanged() 
handler, which use use to explicitly set QWindow show/hide, but Qt tends to 
release its GL context on hide, which we may not desire. It may not hurt, worth 
a look.

  2. QtMir
  There are methods on mir::scene::Surface to set and get the MirSurfaceAttrib 
attributes. I think it would make sense to use the pre-existing 
MirSurfaceItem::visible property, so that if a surface is marked visible=false, 
then that will dispatch the mir_surface_visibility_occluded event to the 
client, so it will stop drawing.

  3. Unity8
  Correctly set visible=false when an application surface is occluded, and true 
when visible. QML has no automatic way of doing that (i.e. occlusion detection)

To manage notifications about this bug go to:
https://bugs.launchpad.net/qtmir/+bug/1475678/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1475678] Re: Unity8 not informing clients that they are not visible and thus can stop rendering

2015-07-17 Thread Mirco Müller
** Changed in: qtmir
 Assignee: (unassigned) = Mirco Müller (macslow)

** Changed in: qtubuntu
 Assignee: (unassigned) = Mirco Müller (macslow)

** Changed in: unity8 (Ubuntu)
 Assignee: (unassigned) = Mirco Müller (macslow)

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to unity8 in Ubuntu.
https://bugs.launchpad.net/bugs/1475678

Title:
  Unity8 not informing clients that they are not visible and thus can
  stop rendering

Status in QtMir:
  New
Status in qtubuntu:
  New
Status in unity8 package in Ubuntu:
  New

Bug description:
  Currently on the phone, apps stop rendering when shell hides them,
  because shell also lifecycle stops the app. App isn't actually told it
  should stop rendering, we just SIGSTOP its process.

  But some apps are not lifecycle stopped, e.g. music. So we should have
  unity8 tell the app to stop rendering.

  
  This will be a multi-step process:
  1. Qtubuntu
  Mir has a attribute to set on surfaces to tell them they are 
visible/occluded: (see mir/include/common/mir_toolkit/common.h)
  mir_surface_attrib_visibility - part of the MirSurfaceAttrib enum. 

  This indicates these possible values:
  typedef enum MirSurfaceVisibility
  {
  mir_surface_visibility_occluded = 0,
  mir_surface_visibility_exposed
  } MirSurfaceVisibility;

  On the client side (qtubuntu), you need to listen for this attribute change, 
and connect it to QWindowSystemInterface::handleExposeEvent() which tells Qt 
how much of a QWindow is being drawn.
  Note there is also a QWindowSystemInterface::handleWindowStateChanged() 
handler, which use use to explicitly set QWindow show/hide, but Qt tends to 
release its GL context on hide, which we may not desire. It may not hurt, worth 
a look.

  2. QtMir
  There are methods on mir::scene::Surface to set and get the MirSurfaceAttrib 
attributes. I think it would make sense to use the pre-existing 
MirSurfaceItem::visible property, so that if a surface is marked visible=false, 
then that will dispatch the mir_surface_visibility_occluded event to the 
client, so it will stop drawing.

  3. Unity8
  Correctly set visible=false when an application surface is occluded, and true 
when visible. QML has no automatic way of doing that (i.e. occlusion detection)

To manage notifications about this bug go to:
https://bugs.launchpad.net/qtmir/+bug/1475678/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp