fix possible segfault and negative height

Origin commit data
------------------
Commit: b8849d53b5
Author: Jacek Jendrzej <overx300@gmail.com>
Date: 2016-10-31 (Mon, 31 Oct 2016)
This commit is contained in:
Jacek Jendrzej
2016-10-31 15:53:29 +01:00
parent 0f64bcab90
commit 4a56be854e
4 changed files with 16 additions and 1 deletions

View File

@@ -136,6 +136,8 @@ void CComponentsScrollBar::initSegments()
//calculate height of segment container
int h_seg_obj = height - 2*sb_up_obj->getHeight() - 3*append_y_offset;
if(h_seg_obj < 0)
h_seg_obj = 0;
//init segment container
if (sb_segments_obj == NULL){
@@ -154,6 +156,8 @@ void CComponentsScrollBar::initSegments()
//set y position of 1st segment and set height of segments
int y_seg = 1+ append_y_offset;
int h_seg = sb_segments_obj->getHeight()/sb_segments_count - append_y_offset;
if(h_seg < 0)
h_seg = 0;
//create and add segments to segment container
for(u_int8_t i=0; i<sb_segments_count; i++){

View File

@@ -445,6 +445,9 @@ void CInfoViewer::paintHead()
void CInfoViewer::paintBody()
{
int h_body = InfoHeightY - header_height - OFFSET_SHADOW;
if(h_body < 0)
h_body = 0;
infoViewerBB->initBBOffset();
if (!zap_mode)
h_body += infoViewerBB->bottom_bar_offset;