mirror of
https://github.com/tuxbox-neutrino/neutrino.git
synced 2025-08-29 08:21:12 +02:00
avoid division by zero and fix segfault
This commit is contained in:
@@ -431,7 +431,7 @@ bool CCDraw::CheckFbData(const cc_fbdata_t& fbdata, const char* func, const int
|
|||||||
//screen area save
|
//screen area save
|
||||||
fb_pixel_t* CCDraw::getScreen(int ax, int ay, int dx, int dy)
|
fb_pixel_t* CCDraw::getScreen(int ax, int ay, int dx, int dy)
|
||||||
{
|
{
|
||||||
if (dx * dy == 0)
|
if (dx < 1 || dy < 1 || dx * dy == 0)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
dprintf(DEBUG_INFO, "[CCDraw] INFO! [%s - %d], ax = %d, ay = %d, dx = %d, dy = %d\n", __func__, __LINE__, ax, ay, dx, dy);
|
dprintf(DEBUG_INFO, "[CCDraw] INFO! [%s - %d], ax = %d, ay = %d, dx = %d, dy = %d\n", __func__, __LINE__, ax, ay, dx, dy);
|
||||||
|
@@ -216,7 +216,7 @@ void CComponentsPicture::initCCItem()
|
|||||||
* by setters setWidth/setHeight
|
* by setters setWidth/setHeight
|
||||||
* these steps are required to assign the current image dimensions to item dimensions
|
* these steps are required to assign the current image dimensions to item dimensions
|
||||||
*/
|
*/
|
||||||
if (keep_dx_aspect){
|
if (keep_dx_aspect && dy){
|
||||||
float h_ratio = float(height)*100/(float)dy;
|
float h_ratio = float(height)*100/(float)dy;
|
||||||
width = int(h_ratio*(float)dx/100);
|
width = int(h_ratio*(float)dx/100);
|
||||||
#ifdef BOXMODEL_APOLLO
|
#ifdef BOXMODEL_APOLLO
|
||||||
@@ -224,7 +224,7 @@ void CComponentsPicture::initCCItem()
|
|||||||
width = GetWidth4FB_HW_ACC(x+fr_thickness, width-2*fr_thickness)+2*fr_thickness;
|
width = GetWidth4FB_HW_ACC(x+fr_thickness, width-2*fr_thickness)+2*fr_thickness;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
if (keep_dy_aspect){
|
if (keep_dy_aspect & dx){
|
||||||
float w_ratio = float(width)*100/(float)dx;
|
float w_ratio = float(width)*100/(float)dx;
|
||||||
height = int(w_ratio*(float)dy/100);
|
height = int(w_ratio*(float)dy/100);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user