Merge branch 'master' into pu/msgbox

This commit is contained in:
2016-11-02 21:05:36 +01:00
9 changed files with 32 additions and 5 deletions

View File

@@ -62,6 +62,9 @@ uint8_t CColorGradient::limitChar(int c)
fb_pixel_t* CColorGradient::gradientColorToTransparent(fb_pixel_t col, fb_pixel_t *gradientBuf, int bSize, int /*mode*/, int /*intensity*/) fb_pixel_t* CColorGradient::gradientColorToTransparent(fb_pixel_t col, fb_pixel_t *gradientBuf, int bSize, int /*mode*/, int /*intensity*/)
{ {
if (bSize < 1)
return gradientBuf;
if (gradientBuf == NULL) { if (gradientBuf == NULL) {
gradientBuf = (fb_pixel_t*) malloc(bSize * sizeof(fb_pixel_t)); gradientBuf = (fb_pixel_t*) malloc(bSize * sizeof(fb_pixel_t));
if (gradientBuf == NULL) { if (gradientBuf == NULL) {
@@ -94,6 +97,8 @@ fb_pixel_t* CColorGradient::gradientColorToTransparent(fb_pixel_t col, fb_pixel_
fb_pixel_t* CColorGradient::gradientOneColor(fb_pixel_t col, fb_pixel_t *gradientBuf, int bSize, int mode, int intensity, uint8_t v_min, uint8_t v_max, uint8_t s) fb_pixel_t* CColorGradient::gradientOneColor(fb_pixel_t col, fb_pixel_t *gradientBuf, int bSize, int mode, int intensity, uint8_t v_min, uint8_t v_max, uint8_t s)
{ {
if (bSize < 1)
return gradientBuf;
if (gradientBuf == NULL) { if (gradientBuf == NULL) {
gradientBuf = (fb_pixel_t*) malloc(bSize * sizeof(fb_pixel_t)); gradientBuf = (fb_pixel_t*) malloc(bSize * sizeof(fb_pixel_t));

View File

@@ -676,7 +676,7 @@ fb_pixel_t* CFrameBuffer::paintBoxRel2Buf(const int dx, const int dy, const int
{ {
if (!getActive()) if (!getActive())
return buf; return buf;
if (dx == 0 || dy == 0) { if (dx < 1 || dy < 1) {
dprintf(DEBUG_INFO, "[CFrameBuffer] [%s - %d]: radius %d, dx %d dy %d\n", __func__, __LINE__, radius, dx, dy); dprintf(DEBUG_INFO, "[CFrameBuffer] [%s - %d]: radius %d, dx %d dy %d\n", __func__, __LINE__, radius, dx, dy);
return buf; return buf;
} }
@@ -2026,6 +2026,9 @@ void CFrameBuffer::blit2FB(void *fbbuff, uint32_t width, uint32_t height, uint32
void CFrameBuffer::blitBox2FB(const fb_pixel_t* boxBuf, uint32_t width, uint32_t height, uint32_t xoff, uint32_t yoff) void CFrameBuffer::blitBox2FB(const fb_pixel_t* boxBuf, uint32_t width, uint32_t height, uint32_t xoff, uint32_t yoff)
{ {
if(width <1 || height <1 || !boxBuf )
return;
uint32_t xc = (width > xRes) ? (uint32_t)xRes : width; uint32_t xc = (width > xRes) ? (uint32_t)xRes : width;
uint32_t yc = (height > yRes) ? (uint32_t)yRes : height; uint32_t yc = (height > yRes) ? (uint32_t)yRes : height;

View File

@@ -616,6 +616,11 @@ void CPictureViewer::rescaleImageDimensions(int *width, int *height, const int m
bool CPictureViewer::DisplayImage(const std::string & name, int posx, int posy, int width, int height, int transp) bool CPictureViewer::DisplayImage(const std::string & name, int posx, int posy, int width, int height, int transp)
{ {
if(width < 1 || height < 1){
dprintf(DEBUG_NORMAL, "[CPictureViewer] [%s - %d] Error: width %i height %i \n", __func__, __LINE__, width, height);
return false;
}
CFrameBuffer* frameBuffer = CFrameBuffer::getInstance(); CFrameBuffer* frameBuffer = CFrameBuffer::getInstance();
if (transp > CFrameBuffer::TM_EMPTY) if (transp > CFrameBuffer::TM_EMPTY)
frameBuffer->SetTransparent(transp); frameBuffer->SetTransparent(transp);
@@ -672,6 +677,12 @@ fb_pixel_t * CPictureViewer::int_getImage(const std::string & name, int *width,
if (load_ret == FH_ERROR_OK) if (load_ret == FH_ERROR_OK)
{ {
dprintf(DEBUG_INFO, "[CPictureViewer] [%s - %d] mode %s, decoded %s, (Pos: %d %d) ,bpp = %d \n", __func__, __LINE__, mode_str.c_str(), name.c_str(), x, y, bpp); dprintf(DEBUG_INFO, "[CPictureViewer] [%s - %d] mode %s, decoded %s, (Pos: %d %d) ,bpp = %d \n", __func__, __LINE__, mode_str.c_str(), name.c_str(), x, y, bpp);
// image size error
if((GetImage) && (*width < 1 || *height < 1)){
dprintf(DEBUG_NORMAL, "[CPictureViewer] [%s - %d] mode: %s, file: %s (Pos: %d %d, Dim: %d x %d)\n", __func__, __LINE__, mode_str.c_str(), name.c_str(), x, y, *width, *height);
free(buffer);
return NULL;
}
// resize only getImage // resize only getImage
if ((GetImage) && (x != *width || y != *height)) if ((GetImage) && (x != *width || y != *height))
{ {
@@ -691,6 +702,7 @@ fb_pixel_t * CPictureViewer::int_getImage(const std::string & name, int *width,
*height = y; *height = y;
}else{ }else{
dprintf(DEBUG_NORMAL, "[CPictureViewer] [%s - %d] mode %s: Error decoding file %s\n", __func__, __LINE__, mode_str.c_str(), name.c_str()); dprintf(DEBUG_NORMAL, "[CPictureViewer] [%s - %d] mode %s: Error decoding file %s\n", __func__, __LINE__, mode_str.c_str(), name.c_str());
free(buffer);
return NULL; return NULL;
} }
free(buffer); free(buffer);

View File

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

View File

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

View File

@@ -569,7 +569,7 @@ int CMiscMenue::showMiscSettingsMenuOnlineServices()
ms_oservices->addItem(youtube_onoff); ms_oservices->addItem(youtube_onoff);
changeNotify(LOCALE_YOUTUBE_DEV_ID, NULL); changeNotify(LOCALE_YOUTUBE_DEV_ID, NULL);
CKeyboardInput youtube_dev_id_input(LOCALE_YOUTUBE_DEV_ID, &g_settings.youtube_dev_id, 38, this); CKeyboardInput youtube_dev_id_input(LOCALE_YOUTUBE_DEV_ID, &g_settings.youtube_dev_id, 39, this);
mf = new CMenuForwarder(LOCALE_YOUTUBE_DEV_ID, true, youtube_dev_id_short, &youtube_dev_id_input); mf = new CMenuForwarder(LOCALE_YOUTUBE_DEV_ID, true, youtube_dev_id_short, &youtube_dev_id_input);
mf->setHint(NEUTRINO_ICON_HINT_SETTINGS, LOCALE_MENU_HINT_YOUTUBE_DEV_ID); mf->setHint(NEUTRINO_ICON_HINT_SETTINGS, LOCALE_MENU_HINT_YOUTUBE_DEV_ID);
ms_oservices->addItem(mf); ms_oservices->addItem(mf);

View File

@@ -1963,7 +1963,7 @@ int CTPSelectHandler::exec(CMenuTarget* parent, const std::string &actionkey)
if(channel) if(channel)
CServiceManager::getInstance()->GetTransponder(channel->getTransponderId(), ct); CServiceManager::getInstance()->GetTransponder(channel->getTransponderId(), ct);
int i = 0; int i = menu.getItemsCount();
transponder_list_t &select_transponders = CServiceManager::getInstance()->GetSatelliteTransponders(position); transponder_list_t &select_transponders = CServiceManager::getInstance()->GetSatelliteTransponders(position);
for (transponder_list_t::iterator tI = select_transponders.begin(); tI != select_transponders.end(); ++tI) { for (transponder_list_t::iterator tI = select_transponders.begin(); tI != select_transponders.end(); ++tI) {
sprintf(cnt, "%d", i); sprintf(cnt, "%d", i);

View File

@@ -1,4 +1,4 @@
version=2.9.0.39 version=2.9.0.39
date=26.08.2016 date=26.08.2016
type=Release type=Release
info=Port CST info=Port Tuxbox-Neutrino

View File

@@ -581,7 +581,7 @@ case "$1" in
fbshot) shift 1; do_fbshot $* ;; fbshot) shift 1; do_fbshot $* ;;
fbshot_clear) do_fbshot_clear ;; fbshot_clear) do_fbshot_clear ;;
screenshot_clear) do_screenshot_clear ;; screenshot_clear) do_screenshot_clear ;;
get_update_version) wget -O /tmp/version.txt "http://git.coolstreamtech.de/?p=cst-public-gui-neutrino.git;a=blob_plain;f=src/nhttpd/web/Y_Version.txt;hb=refs/heads/cst-next" ;; get_update_version) wget -O /tmp/version.txt "http://raw.github.com/tuxbox-neutrino/gui-neutrino/master/src/nhttpd/web/Y_Version.txt" ;;
settings_backup_restore) shift 1; do_settings_backup_restore $* ;; settings_backup_restore) shift 1; do_settings_backup_restore $* ;;
exec_cmd) shift 1; $* ;; exec_cmd) shift 1; $* ;;
automount_list) shift 1; do_automount_list $* ;; automount_list) shift 1; do_automount_list $* ;;