diff options
author | Greg Hackmann <ghackmann@google.com> | 2012-04-09 16:15:15 -0700 |
---|---|---|
committer | Greg Hackmann <ghackmann@google.com> | 2012-04-25 16:33:27 -0700 |
commit | cb3eb57bb1aebf46521fba6d1fba57d8602551d3 (patch) | |
tree | acfd6e37a35e1233c117e52381f49eb626f4fe49 /libhwcomposer/SecHWC.cpp | |
parent | e63af0afc43a5c88064df122aee66c59e8cd7dfa (diff) | |
download | device_samsung_crespo-cb3eb57bb1aebf46521fba6d1fba57d8602551d3.zip device_samsung_crespo-cb3eb57bb1aebf46521fba6d1fba57d8602551d3.tar.gz device_samsung_crespo-cb3eb57bb1aebf46521fba6d1fba57d8602551d3.tar.bz2 |
crespo libhwcomposer: keep window 2 open
Window 2 is used to query global info about the LCD.
Change-Id: I190aa1495d73802009a07409f720f1234e53152e
Signed-off-by: Greg Hackmann <ghackmann@google.com>
Diffstat (limited to 'libhwcomposer/SecHWC.cpp')
-rw-r--r-- | libhwcomposer/SecHWC.cpp | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/libhwcomposer/SecHWC.cpp b/libhwcomposer/SecHWC.cpp index e63558b..b7c3790 100644 --- a/libhwcomposer/SecHWC.cpp +++ b/libhwcomposer/SecHWC.cpp @@ -436,6 +436,11 @@ static int hwc_device_close(struct hw_device_t *dev) ret = -1; } + if (window_close(&ctx->global_lcd_win) < 0) { + ALOGE("%s::window_close() fail", __func__); + ret = -1; + } + for (i = 0; i < NUM_OF_WIN; i++) { if (window_close(&ctx->win[i]) < 0) { ALOGE("%s::window_close() fail", __func__); @@ -494,8 +499,15 @@ static int hwc_device_open(const struct hw_module_t* module, const char* name, } } + /* open window 2, used to query global LCD info */ + if (window_open(&dev->global_lcd_win, 2) < 0) { + ALOGE("%s:: Failed to open window 2 device ", __func__); + status = -EINVAL; + goto err; + } + /* get default window config */ - if (window_get_global_lcd_info(&dev->lcd_info) < 0) { + if (window_get_global_lcd_info(dev) < 0) { ALOGE("%s::window_get_global_lcd_info is failed : %s", __func__, strerror(errno)); status = -EINVAL; @@ -558,6 +570,9 @@ err: if (destroyFimc(&dev->fimc) < 0) ALOGE("%s::destroyFimc() fail", __func__); + if (window_close(&dev->global_lcd_win) < 0) + ALOGE("%s::window_close() fail", __func__); + for (int i = 0; i < NUM_OF_WIN; i++) { if (window_close(&dev->win[i]) < 0) ALOGE("%s::window_close() fail", __func__); |