fixed some bugs

This commit is contained in:
louis 2016-02-06 09:49:29 +01:00
parent 97cbc1080d
commit 8ef68f8ab8
5 changed files with 933 additions and 902 deletions

View File

@ -479,6 +479,7 @@ cLeMenuSchedules::cLeMenuSchedules(void) {
}
cLeMenuSchedules::cLeMenuSchedules(const cLeMenuSchedules &other) : cListElement(other) {
currentSchedules = NULL;
}
cLeMenuSchedules::~cLeMenuSchedules(void) {
@ -789,6 +790,7 @@ cLeMenuChannels::cLeMenuChannels(void) {
}
cLeMenuChannels::cLeMenuChannels(const cLeMenuChannels &other) : cListElement(other) {
currentChannel = NULL;
channel = NULL;
withProvider = false;
}
@ -1061,6 +1063,11 @@ cLeMenuTimers::cLeMenuTimers(void) {
timer = NULL;
}
cLeMenuTimers::cLeMenuTimers(const cLeMenuTimers &other) : cListElement(other) {
currentTimer = NULL;
timer = NULL;
}
cLeMenuTimers::~cLeMenuTimers(void) {
}
@ -1326,6 +1333,14 @@ cLeMenuRecordings::cLeMenuRecordings(void) {
New = 0;
}
cLeMenuRecordings::cLeMenuRecordings(const cLeMenuRecordings &other) : cListElement(other) {
currentRecording = NULL;
recording = NULL;
level = 0;
total = 0;
New = 0;
}
cLeMenuRecordings::~cLeMenuRecordings(void) {
}
@ -1722,6 +1737,12 @@ cLeMenuPlugin::cLeMenuPlugin(void) {
plugMenuId = -1;
}
cLeMenuPlugin::cLeMenuPlugin(const cLeMenuPlugin &other) : cListElement(other) {
currentPlugin = NULL;
plugId = -1;
plugMenuId = -1;
}
cLeMenuPlugin::~cLeMenuPlugin(void) {
}

View File

@ -217,6 +217,7 @@ private:
const cTimer *timer;
public:
cLeMenuTimers(void);
cLeMenuTimers(const cLeMenuTimers &other);
virtual ~cLeMenuTimers(void);
void SetTokenContainer(void);
void SetCurrentElement(cCeMenuTimers *cur) { currentTimer = cur; currentElement = (cViewElement*)cur; };
@ -255,6 +256,7 @@ private:
char *FolderName(const char *path, int level);
public:
cLeMenuRecordings(void);
cLeMenuRecordings(const cLeMenuRecordings &other);
virtual ~cLeMenuRecordings(void);
void SetTokenContainer(void);
void SetCurrentElement(cCeMenuRecordings *cur) { currentRecording = cur; currentElement = (cViewElement*)cur; };
@ -292,6 +294,7 @@ private:
cCeMenuPlugin *currentPlugin;
public:
cLeMenuPlugin(void);
cLeMenuPlugin(const cLeMenuPlugin &other);
virtual ~cLeMenuPlugin(void);
void SetTokenContainer(void);
void SetPlugId(int id) { plugId = id; };

View File

@ -143,25 +143,29 @@ bool cView::ValidViewList(const char *viewList) {
}
void cView::PreCache(void) {
if (container.Width() == 0) {
bool rootView = (container.Width() == 0) ? true : false;
if (rootView) {
SetContainer(0, 0, cOsd::OsdWidth(), cOsd::OsdHeight());
attribs->SetContainer(0, 0, cOsd::OsdWidth(), cOsd::OsdHeight());
attribs->Cache();
rootView = true;
}
//set frame for scaling tv picture
tvFrame = attribs->TvFrame();
//cache viewelements
int contX = rootView ? 0 : ((attribs->X() > -1) ? attribs->X() : 0);
int contY = rootView ? 0 : ((attribs->Y() > -1) ? attribs->Y() : 0);
for (int i=0; i < numViewElements; i++) {
if (!viewElements[i])
continue;
viewElements[i]->SetContainer(0, 0, attribs->Width(), attribs->Height());
viewElements[i]->SetContainer(contX, contY, attribs->Width(), attribs->Height());
viewElements[i]->Cache();
}
if (viewElementsHorizontal) {
for (int i=0; i < numViewElements; i++) {
if (!viewElementsHorizontal[i])
continue;
viewElementsHorizontal[i]->SetContainer(0, 0, attribs->Width(), attribs->Height());
viewElementsHorizontal[i]->SetContainer(contX, contY, attribs->Width(), attribs->Height());
viewElementsHorizontal[i]->Cache();
}
}
@ -287,6 +291,7 @@ void cView::Flush(void) {
void cView::Debug(void) {
esyslog("skindesigner: ---> view %s", viewName);
attribs->Debug();
for (int i=0; i < numViewElements; i++) {
if (!viewElements[i])
continue;

View File

@ -1552,6 +1552,7 @@ void cViewMenuDetail::SetPluginText(skindesignerapi::cTokenContainer *tk) {
}
void cViewMenuDetail::Clear(void) {
cSubView::Clear();
cSubView::Close();
if (detailedheaderEpg) {
detailedheaderEpg->Close();
@ -1569,6 +1570,7 @@ void cViewMenuDetail::Clear(void) {
}
void cViewMenuDetail::Close(void) {
cSubView::Clear();
cSubView::Close();
if (detailView) {
detailView->Close();

File diff suppressed because it is too large Load Diff