Since QImage takes an int as the value for colors, it can be overflowed by giving it
From: Erik Hovland <erik@hovland.org>
4Gi colors.
---
libs/libmythtv/NuppelVideoPlayer.cpp | 2 +-
libs/libmythtv/osdlistbtntype.cpp | 3 +--
libs/libmythtv/previewgenerator.cpp | 3 +--
3 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/libs/libmythtv/NuppelVideoPlayer.cpp b/libs/libmythtv/NuppelVideoPlayer.cpp
index 072b424..0876e58 100644
a
|
b
|
const QImage &NuppelVideoPlayer::GetARGBFrame(QSize &size) |
1586 | 1586 | w, h, w * 4, w, w / 2, 0); |
1587 | 1587 | |
1588 | 1588 | argb_scaled_img = QImage(argb_buf, argb_size.width(), argb_size.height(), |
1589 | | 32, NULL, 65536 * 65536, QImage::LittleEndian); |
| 1589 | 32, QImage::Format_RGB32); |
1590 | 1590 | |
1591 | 1591 | return argb_scaled_img; |
1592 | 1592 | } |
diff --git a/libs/libmythtv/osdlistbtntype.cpp b/libs/libmythtv/osdlistbtntype.cpp
index b746f8c..6cd6e5c 100644
a
|
b
|
void OSDListBtnType::InitItem( |
708 | 708 | *ptr = black; |
709 | 709 | |
710 | 710 | { |
711 | | QImage img(data, width, height, 32, NULL, 65536 * 65536, |
712 | | QImage::LittleEndian); |
| 711 | QImage img(data, width, height, 32, QImage::Format_RGB32); |
713 | 712 | img.setAlphaBuffer(alpha<255); |
714 | 713 | osdImg.Load(img); |
715 | 714 | } |
diff --git a/libs/libmythtv/previewgenerator.cpp b/libs/libmythtv/previewgenerator.cpp
index e482088..dd4330e 100644
a
|
b
|
bool PreviewGenerator::SavePreview(QString filename, |
429 | 429 | return false; |
430 | 430 | |
431 | 431 | const QImage img((unsigned char*) data, |
432 | | width, height, 32, NULL, 65536 * 65536, |
433 | | QImage::LittleEndian); |
| 432 | width, height, 32, QImage::Format_RGB32); |
434 | 433 | |
435 | 434 | float ppw = max(desired_width, 0); |
436 | 435 | float pph = max(desired_height, 0); |