diff options
author | Andre McCurdy <armccurdy@gmail.com> | 2016-06-14 15:51:06 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-06-15 18:13:16 +0100 |
commit | 2a85038dd03463774fb787b655887297ec4f0a04 (patch) | |
tree | 4f317978246154b06e45caa896f8f4b788135410 /meta/recipes-graphics/directfb | |
parent | 792fd3888592e780b0d64524b1be5c033ba356ae (diff) | |
download | poky-2a85038dd03463774fb787b655887297ec4f0a04.tar.gz |
directfb: fix client->gfx_state initialisation
Shortly before the DirectFB 1.7.7 release, an optimisation was added
to CoreGraphicsStateClient_Init() to avoid creating an extended
Graphics State object if it will not later be required:
4d422fb Client: Create extended Graphics State object when needed for later usage
Unfortunately the client->gfx_state variable used to track the
extended Graphics State object is not initialised, which can lead to
crashes etc due to creation of the Graphics State object erroneously
being skipped.
(From OE-Core rev: 7b4b67da33beff736dc0286ea24e3860480f9650)
Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-graphics/directfb')
-rw-r--r-- | meta/recipes-graphics/directfb/directfb.inc | 1 | ||||
-rw-r--r-- | meta/recipes-graphics/directfb/directfb/fix-client-gfx_state-initialisation.patch | 38 |
2 files changed, 39 insertions, 0 deletions
diff --git a/meta/recipes-graphics/directfb/directfb.inc b/meta/recipes-graphics/directfb/directfb.inc index 46748988ea..46e0838f79 100644 --- a/meta/recipes-graphics/directfb/directfb.inc +++ b/meta/recipes-graphics/directfb/directfb.inc | |||
@@ -19,6 +19,7 @@ SRC_URI = "http://downloads.yoctoproject.org/mirror/sources/DirectFB-${PV}.tar.g | |||
19 | file://compar_fn_t.patch \ | 19 | file://compar_fn_t.patch \ |
20 | file://union-sigval.patch \ | 20 | file://union-sigval.patch \ |
21 | file://use-PTHREAD_MUTEX_RECURSIVE.patch \ | 21 | file://use-PTHREAD_MUTEX_RECURSIVE.patch \ |
22 | file://fix-client-gfx_state-initialisation.patch \ | ||
22 | " | 23 | " |
23 | 24 | ||
24 | S = "${WORKDIR}/DirectFB-${PV}" | 25 | S = "${WORKDIR}/DirectFB-${PV}" |
diff --git a/meta/recipes-graphics/directfb/directfb/fix-client-gfx_state-initialisation.patch b/meta/recipes-graphics/directfb/directfb/fix-client-gfx_state-initialisation.patch new file mode 100644 index 0000000000..57a9b0dc7e --- /dev/null +++ b/meta/recipes-graphics/directfb/directfb/fix-client-gfx_state-initialisation.patch | |||
@@ -0,0 +1,38 @@ | |||
1 | From 8e53c0b9cedb62b82e2b7680d793d433b647ae20 Mon Sep 17 00:00:00 2001 | ||
2 | From: Andre McCurdy <armccurdy@gmail.com> | ||
3 | Date: Mon, 13 Jun 2016 13:32:44 -0700 | ||
4 | Subject: [PATCH] fix client->gfx_state initialisation | ||
5 | |||
6 | Shortly before the DirectFB 1.7.7 release, an optimisation was added | ||
7 | to CoreGraphicsStateClient_Init() to avoid creating an extended | ||
8 | Graphics State object if it will not later be required: | ||
9 | |||
10 | 4d422fb Client: Create extended Graphics State object when needed for later usage | ||
11 | |||
12 | Unfortunately the client->gfx_state variable used to track the | ||
13 | extended Graphics State object is not initialised, which can lead to | ||
14 | crashes etc due to creation of the Graphics State object erroneously | ||
15 | being skipped. | ||
16 | |||
17 | Upstream-Status: Pending | ||
18 | |||
19 | Signed-off-by: Andre McCurdy <armccurdy@gmail.com> | ||
20 | --- | ||
21 | src/core/CoreGraphicsStateClient.cpp | 1 + | ||
22 | 1 file changed, 1 insertion(+) | ||
23 | |||
24 | diff --git a/src/core/CoreGraphicsStateClient.cpp b/src/core/CoreGraphicsStateClient.cpp | ||
25 | index 5d46f0e..5007755 100644 | ||
26 | --- a/src/core/CoreGraphicsStateClient.cpp | ||
27 | +++ b/src/core/CoreGraphicsStateClient.cpp | ||
28 | @@ -364,6 +364,7 @@ CoreGraphicsStateClient_Init( CoreGraphicsStateClient *client, | ||
29 | client->renderer = NULL; | ||
30 | client->requestor = NULL; | ||
31 | client->throttle = NULL; | ||
32 | + client->gfx_state = NULL; | ||
33 | |||
34 | if (dfb_config->task_manager) { | ||
35 | if (dfb_config->call_nodirect) { | ||
36 | -- | ||
37 | 1.9.1 | ||
38 | |||