Adam Jackson writes:
> +static Bool
> +backed(WindowPtr pWin)
> +{
> +for (; pWin; pWin = pWin->parent)
> +if (pWin->backStorage)
> +return TRUE;
> +
> +return FALSE;
> +}
> +
Do we need to stop if we find another redirection layer? I think that
will break the
Adam Jackson writes:
> ---
> dix/window.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/dix/window.c b/dix/window.c
> index 55290577d9..34bed93d93 100644
> --- a/dix/window.c
> +++ b/dix/window.c
> @@ -2870,7 +2870,7 @@ UnmapWindow(WindowPtr pWin, Bool
Adam Jackson writes:
> Signed-off-by: Adam Jackson
Yeah, this all looks reasonable.
> +if (wasPaintable && anyMarked) {
> +if (pLayerWin->parent == pWin)
> +(*pScreen->MarkWindow) (pWin);
> +else {
> +WindowPtr ptmp;
Argh. Please make the logic fix
Adam Jackson writes:
> Signed-off-by: Adam Jackson
Should we just be checking for empty clip lists instead? It's not quite
as cheap, but we do catch FullyObscurred in the same check.
--
-keith
signature.asc
Description: PGP signature
___
Adam Jackson writes:
Reading through this, I don't see what this patch ends up changing --
TreatAsTransparent will always return True for unmapped Always windows,
so every place you're checking paintable && !TreatAsTransparent, you
could equivalently be checking viewable && !TreatAsTrasparent
Keep the pixmap at unmap, always try to realize backing store, always
mark them when marking, and update paintable when backed.
Signed-off-by: Adam Jackson
---
composite/compalloc.c | 2 +-
composite/compinit.c | 24 +++--
composite/compint.h| 8 ++
Signed-off-by: Adam Jackson
---
dix/window.c | 69
1 file changed, 32 insertions(+), 37 deletions(-)
diff --git a/dix/window.c b/dix/window.c
index ea3920c869..55290577d9 100644
--- a/dix/window.c
+++ b/dix/window.c
@@ -1589,7 +1589,7 @@
Signed-off-by: Adam Jackson
---
mi/miwindow.c | 30 +++---
1 file changed, 15 insertions(+), 15 deletions(-)
diff --git a/mi/miwindow.c b/mi/miwindow.c
index 39c279e184..1b910d9bea 100644
--- a/mi/miwindow.c
+++ b/mi/miwindow.c
@@ -151,7 +151,7 @@
---
dix/window.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/dix/window.c b/dix/window.c
index 55290577d9..34bed93d93 100644
--- a/dix/window.c
+++ b/dix/window.c
@@ -2870,7 +2870,7 @@ UnmapWindow(WindowPtr pWin, Bool fromConfigure)
if (SubStrSend(pWin, pParent))
Signed-off-by: Adam Jackson
---
mi/mibitblt.c | 4 ++--
mi/micopy.c | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/mi/mibitblt.c b/mi/mibitblt.c
index 2de5bf8fd5..8d70e5494e 100644
--- a/mi/mibitblt.c
+++ b/mi/mibitblt.c
@@ -92,9 +92,9 @@ miCopyArea(DrawablePtr
Signed-off-by: Adam Jackson
---
mi/mivaltree.c | 108 ++---
1 file changed, 58 insertions(+), 50 deletions(-)
diff --git a/mi/mivaltree.c b/mi/mivaltree.c
index ea6889fdc0..f47cfa4571 100644
--- a/mi/mivaltree.c
+++ b/mi/mivaltree.c
@@ -164,14 +164,16
A paintable window is a window whose pixels are (potentially) modifiable
by rendering commands. Right now that just means the same thing as
viewable; it will soon also include unmapped windows with backing store
set to Always.
v2:
Set paintable in dix not ddx (Keith Packard)
Signed-off-by: Adam
This is a resend of a series I wrote forever ago and nobody dared
review. It probably needs some additional review and rethinking, but it
definitely shouldn't keep languishing on my hard drive.
The core issue is that Always windows need to have their pixels
allocated before the window is ever
13 matches
Mail list logo