diff --git a/LFSApplications/LFSApplications/app/apps.local b/LFSApplications/LFSApplications/app/apps.local index 187f5a26..667b3ea2 100755 --- a/LFSApplications/LFSApplications/app/apps.local +++ b/LFSApplications/LFSApplications/app/apps.local @@ -10,4 +10,10 @@ if [[ $1 = "conf" ]];then popd fi -LD_LIBRARY_PATH="../../../LFSToolKit/LFSToolKit/app/.libs" ./$@ +if [[ $USEVALGRIND -eq 1 ]];then + VALGRIND="valgrind --leak-check=full" +else + VALGRIND= +fi + +LD_LIBRARY_PATH="../../../LFSToolKit/LFSToolKit/app/.libs" $VALGRIND $@ diff --git a/LFSApplications/LFSApplications/src/lfsfontselect.cpp b/LFSApplications/LFSApplications/src/lfsfontselect.cpp index a32813eb..dca478cf 100644 --- a/LFSApplications/LFSApplications/src/lfsfontselect.cpp +++ b/LFSApplications/LFSApplications/src/lfsfontselect.cpp @@ -114,10 +114,12 @@ int main(int argc, char **argv) fd=fontdialog->LFSTK_getFontData(false); if(fd->isValid==true) if(useDetail==false) - printf("fontString=%s\n",fd->fontString); + printf("fontString=%s\n",fd->fontString.c_str()); else - printf("Font String:%s\nFont:%s\nSize:%i\nBold:%s\nItalic:%s\n",fd->fontString,fd->fontName,fd->fontSize,bools[fd->bold],bools[fd->italic]); + printf("Font String:%s\nFont:%s\nSize:%i\nBold:%s\nItalic:%s\n",fd->fontString.c_str(),fd->fontName.c_str(),fd->fontSize,bools[fd->bold],bools[fd->italic]); delete apc; + cairo_debug_reset_static_data(); + return(0); } diff --git a/LFSApplications/LFSApplications/src/lfsmimeeditor.cpp b/LFSApplications/LFSApplications/src/lfsmimeeditor.cpp index e07ad9b3..6211642c 100755 --- a/LFSApplications/LFSApplications/src/lfsmimeeditor.cpp +++ b/LFSApplications/LFSApplications/src/lfsmimeeditor.cpp @@ -87,9 +87,9 @@ void setMimeTypesList(char *filepath) { listit.label=strdup(buffer); listit.imageType=NOTHUMB; - if(listit.label[strlen(listit.label)-1]==';') - listit.label[strlen(listit.label)-1]=0; - char *ptr=strchr(listit.label,'='); + if(listit.label[listit.label.length()-1]==';') + listit.label[listit.label.length()-1]=0; + char *ptr=strchr((char*)listit.label.c_str(),'='); *ptr=0; ptr++; listit.userData=ptr; @@ -137,10 +137,10 @@ void reWriteMimeFile(void) { if(j!=mimeList->currentItem) { - ptr=mimeList->listDataArray->at(j).label; - ptr+=strlen(mimeList->listDataArray->at(j).label); + ptr=(char*)mimeList->listDataArray->at(j).label.c_str(); + ptr+=mimeList->listDataArray->at(j).label.length(); ptr++; - fprintf(file,"%s=%s;\n",mimeList->listDataArray->at(j).label,ptr); + fprintf(file,"%s=%s;\n",mimeList->listDataArray->at(j).label.c_str(),ptr); } } @@ -175,10 +175,10 @@ bool doUpdate(void *p,void* ud) } else { - ptr=mimeList->listDataArray->at(j).label; - ptr+=strlen(mimeList->listDataArray->at(j).label); + ptr=(char*)mimeList->listDataArray->at(j).label.c_str(); + ptr+=mimeList->listDataArray->at(j).label.length(); ptr++; - fprintf(file,"%s=%s;\n",mimeList->listDataArray->at(j).label,ptr); + fprintf(file,"%s=%s;\n",mimeList->listDataArray->at(j).label.c_str(),ptr); } } fprintf(file,"%s=%s.desktop;\n",editLine->LFSTK_getCStr(),appLine->LFSTK_getCStr()); @@ -199,7 +199,7 @@ bool doUpdate(void *p,void* ud) bool doInsert(void *p,void* ud) { char *command; - const char *data=mimeList->listDataArray->at(mimeList->currentItem).label; + const char *data=mimeList->listDataArray->at(mimeList->currentItem).label.c_str(); asprintf(&command,"sed -i 's@\\(%s.*\\)@\\1\\n%s=Custom.desktop@' \"%s\"",data,data,mimeTypesFile); system(command); @@ -234,7 +234,7 @@ bool doDelete(void *p,void* ud) bool doApply(void *p,void* ud) { char *command; - const char *data=mimeList->listDataArray->at(mimeList->currentItem).label; + const char *data=mimeList->listDataArray->at(mimeList->currentItem).label.c_str(); asprintf(&command,"cp \"%s\" \"%s/.config\"",mimeTypesFile,getenv("HOME")); system(command); diff --git a/LFSDock/LFSDock/src/desktopSwitcher.cpp b/LFSDock/LFSDock/src/desktopSwitcher.cpp index 04befde4..37276c8b 100644 --- a/LFSDock/LFSDock/src/desktopSwitcher.cpp +++ b/LFSDock/LFSDock/src/desktopSwitcher.cpp @@ -50,9 +50,9 @@ bool deskSwitcherEnterCB(LFSTK_gadgetClass*p,void* ud) for(int j=0;jLFSTK_appendToList(ls); } diff --git a/LFSDock/LFSDock/src/launchers.cpp b/LFSDock/LFSDock/src/launchers.cpp index b30a2c46..72e0eb62 100644 --- a/LFSDock/LFSDock/src/launchers.cpp +++ b/LFSDock/LFSDock/src/launchers.cpp @@ -39,9 +39,9 @@ bool launcherEnterCB(LFSTK_gadgetClass*p,void* ud) setGadgetPosition(p,true); popActionList->LFSTK_freeList(); - ls.label=strdup((char*)lds.name.c_str()); + ls.label=lds.name; ls.imageType=NOTHUMB; - ls.data.imagePath=NULL; + ls.imagePath; ls.userData=USERDATA(p); popActionList->LFSTK_appendToList(ls); diff --git a/LFSDock/LFSDock/src/taskBar.cpp b/LFSDock/LFSDock/src/taskBar.cpp index 10fae049..371c640c 100644 --- a/LFSDock/LFSDock/src/taskBar.cpp +++ b/LFSDock/LFSDock/src/taskBar.cpp @@ -48,7 +48,7 @@ bool taskSwitcherEnterCB(LFSTK_gadgetClass*p,void* ud) label=filltasks.at(d).taskName; ls.label=strdup((char*)label.c_str()); ls.imageType=NOTHUMB; - ls.data.imagePath=NULL; + ls.imagePath; ls.userData=USERDATA(filltasks.at(d).winid); popActionList->LFSTK_appendToList(ls); @@ -57,7 +57,7 @@ bool taskSwitcherEnterCB(LFSTK_gadgetClass*p,void* ud) label=filltasks.at(d).tasks.at(j).taskName; ls.label=strdup((char*)label.c_str()); ls.imageType=NOTHUMB; - ls.data.imagePath=NULL; + ls.imagePath; ls.userData=USERDATA(filltasks.at(d).tasks.at(j).winid); popActionList->LFSTK_appendToList(ls); } diff --git a/LFSToolKit/ChangeLog b/LFSToolKit/ChangeLog index 918ca958..de5c8091 100644 --- a/LFSToolKit/ChangeLog +++ b/LFSToolKit/ChangeLog @@ -1,4 +1,7 @@ 0.6.0 +Fixed calendar example. +Fixed minor faults. +Fixed leak in listgadget. Removing old 'c' code ... Removing old 'c' code ... Added small utility class for static functions. diff --git a/LFSToolKit/LFSToolKit/lfstk/LFSTKFileDialog.cpp b/LFSToolKit/LFSToolKit/lfstk/LFSTKFileDialog.cpp index 35f3613a..deab4751 100644 --- a/LFSToolKit/LFSToolKit/lfstk/LFSTKFileDialog.cpp +++ b/LFSToolKit/LFSToolKit/lfstk/LFSTKFileDialog.cpp @@ -71,54 +71,54 @@ void LFSTK_fileDialogClass::getFileList(void) this->fileListGadget->LFSTK_freeList(); for(int j=0;jfileListCnt;j++) { - ls.label=strdup(this->fc->data.at(j).name.c_str()); + ls.label=this->fc->data.at(j).name.c_str(); ls.imageType=CAIROTHUMB; switch(this->fc->data.at(j).fileType) { case FOLDERTYPE: - ls.data.surface=this->folderImage; + ls.surface=this->folderImage; break; case FILETYPE: - if((strcasestr(ls.label,".jpg")!=NULL) || (strcasestr(ls.label,".png")!=NULL)) + if((LFSTK_UtilityClass::LFSTK_strStr(ls.label,".jpg",true).length()>0) || (LFSTK_UtilityClass::LFSTK_strStr(ls.label,".png",true).length()>0)) { if(this->useThumbs==true) { ls.imageType=FILETHUMB; - ls.data.imagePath=strdup(this->fc->data.at(j).path.c_str()); + ls.imagePath=this->fc->data.at(j).path; } else - ls.data.surface=this->imageImage; + ls.surface=this->imageImage; } else - ls.data.surface=this->fileImage; + ls.surface=this->fileImage; break; case FOLDERLINKTYPE: - ls.data.surface=this->folderImageLink; + ls.surface=this->folderImageLink; break; case FILELINKTYPE: - if((strcasestr(ls.label,".jpg")!=NULL) || (strcasestr(ls.label,".png")!=NULL)) + if((LFSTK_UtilityClass::LFSTK_strStr(ls.label,".jpg",true).length()>0) || (LFSTK_UtilityClass::LFSTK_strStr(ls.label,".png",true).length()>0)) { if(this->useThumbs==true) { ls.imageType=FILETHUMB; - ls.data.imagePath=strdup(this->fc->data.at(j).path.c_str()); + ls.imagePath=this->fc->data.at(j).path; } else - ls.data.surface=this->imageImageLink; + ls.surface=this->imageImageLink; } else - ls.data.surface=this->fileImageLink; + ls.surface=this->fileImageLink; break; case BROKENLINKTYPE: - ls.data.surface=this->brokenLink; + ls.surface=this->brokenLink; break; default: - ls.data.surface=this->fileImage; + ls.surface=this->fileImage; break; } fileListGadget->LFSTK_appendToList(ls); diff --git a/LFSToolKit/LFSToolKit/lfstk/LFSTKFontDialog.cpp b/LFSToolKit/LFSToolKit/lfstk/LFSTKFontDialog.cpp index 21422007..d1db5a47 100644 --- a/LFSToolKit/LFSToolKit/lfstk/LFSTKFontDialog.cpp +++ b/LFSToolKit/LFSToolKit/lfstk/LFSTKFontDialog.cpp @@ -129,18 +129,20 @@ void LFSTK_fontDialogClass::loadFontStrings(void) /* * Private parse fontstring. */ -void LFSTK_fontDialogClass::parseFontString(std::string fontstr) +void LFSTK_fontDialogClass::parseFontString(std::string fontstr)//TODO// { std::vector tokenstrings; tokenstrings=LFSTK_UtilityClass::LFSTK_strTok(fontstr,":"); - this->fontlist->LFSTK_findByLabel(tokenstrings.at(0).c_str()); - this->boldcheck->LFSTK_setValue(tokenstrings.at(2).c_str()); - this->italiccheck->LFSTK_setValue(tokenstrings.at(3).c_str()); - this->fontsize->LFSTK_setBuffer(tokenstrings.at(1).substr(5,(tokenstrings.at(1).length()-5)).c_str()); - this->LFSTK_getFontData(true); - + if(tokenstrings.size()>3) + { + this->fontlist->LFSTK_findByLabel(tokenstrings.at(0).c_str()); + this->boldcheck->LFSTK_setValue(tokenstrings.at(2).c_str()); + this->italiccheck->LFSTK_setValue(tokenstrings.at(3).c_str()); + this->fontsize->LFSTK_setBuffer(tokenstrings.at(1).substr(5,(tokenstrings.at(1).length()-5)).c_str()); + this->LFSTK_getFontData(true); + } return; } @@ -230,7 +232,7 @@ void LFSTK_fontDialogClass::buildDialog(void) for(int j=0;jmaxFonts;j++) { - ls.label=strdup(this->fontsAZV.at(j).c_str()); + ls.label=this->fontsAZV.at(j); ls.imageType=NOTHUMB; fontlist->LFSTK_appendToList(ls); } diff --git a/LFSToolKit/LFSToolKit/lfstk/LFSTKGadget.cpp b/LFSToolKit/LFSToolKit/lfstk/LFSTKGadget.cpp index e7489c79..51be315e 100644 --- a/LFSToolKit/LFSToolKit/lfstk/LFSTKGadget.cpp +++ b/LFSToolKit/LFSToolKit/lfstk/LFSTKGadget.cpp @@ -959,6 +959,7 @@ void LFSTK_gadgetClass::LFSTK_setCairoFontData(void) this->fontName=tokenstrings.at(0); cairo_save(this->cr); + //fprintf(stderr,"fontString=>>%s<< his->fontName.c_str()=>>%s<< slant=%i weight=%i sixe=%i \n",this->fontString.c_str(),this->fontName.c_str(),this->slant,this->weight,this->fontSize); cairo_select_font_face(this->cr,this->fontName.c_str(),this->slant,this->weight); cairo_set_font_size(this->cr,this->fontSize); cairo_font_extents(this->cr,&this->fontExtents); diff --git a/LFSToolKit/LFSToolKit/lfstk/LFSTKGlobals.h b/LFSToolKit/LFSToolKit/lfstk/LFSTKGlobals.h index 318b8928..d7859be0 100644 --- a/LFSToolKit/LFSToolKit/lfstk/LFSTKGlobals.h +++ b/LFSToolKit/LFSToolKit/lfstk/LFSTKGlobals.h @@ -31,6 +31,7 @@ #include #include #include +#include #include @@ -47,7 +48,7 @@ #include -#define COPYRITE "Copyright © 2013-2023 K.D.Hedger" +#define COPYRITE "Copyright © 2013-2024 K.D.Hedger" #define PERSONAL "kdhedger68713@gmail.com" #define MYWEBSITE "https://keithdhedger.github.io/" diff --git a/LFSToolKit/LFSToolKit/lfstk/LFSTKImage.cpp b/LFSToolKit/LFSToolKit/lfstk/LFSTKImage.cpp index 0b959d4a..1acc8987 100644 --- a/LFSToolKit/LFSToolKit/lfstk/LFSTKImage.cpp +++ b/LFSToolKit/LFSToolKit/lfstk/LFSTKImage.cpp @@ -129,8 +129,9 @@ LFSTK_imageClass::LFSTK_imageClass(LFSTK_windowClass* parentwc,const char* image this->ml->gadget=this; this->ml->type=IMAGEGADGET; this->wc->LFSTK_addMappedListener(this->window,ml); + if(imagepath!=NULL) + this->LFSTK_setImageFromPath(std::string(imagepath),gravity,scale); - this->LFSTK_setImageFromPath(imagepath,gravity,scale); this->useTile=this->wc->useTile; this->gadgetDetails={&this->wc->windowColourNames[NORMALCOLOUR],BEVELNONE,NOINDICATOR,NORMALCOLOUR,0,false,{0,0,w,h},{0,0,0,0},false,false,false}; diff --git a/LFSToolKit/LFSToolKit/lfstk/LFSTKLib.cpp b/LFSToolKit/LFSToolKit/lfstk/LFSTKLib.cpp index 01a9c4b5..d8399ef3 100644 --- a/LFSToolKit/LFSToolKit/lfstk/LFSTKLib.cpp +++ b/LFSToolKit/LFSToolKit/lfstk/LFSTKLib.cpp @@ -1181,8 +1181,8 @@ void LFSTK_lib::LFSTK_getFileInfo(const char* path,fileInformation* info) file=g_file_new_for_path(path); file_info=g_file_query_info(file,"standard::*",G_FILE_QUERY_INFO_NONE,NULL,&error); th=g_file_info_get_content_type(file_info); - g_clear_object(&file); g_clear_object(&file_info); + g_clear_object(&file); if(th.length()!=0) info->mimeType=th; else diff --git a/LFSToolKit/LFSToolKit/lfstk/LFSTKListGadget.cpp b/LFSToolKit/LFSToolKit/lfstk/LFSTKListGadget.cpp index 25ad57f7..34d7eea0 100644 --- a/LFSToolKit/LFSToolKit/lfstk/LFSTKListGadget.cpp +++ b/LFSToolKit/LFSToolKit/lfstk/LFSTKListGadget.cpp @@ -141,7 +141,7 @@ void LFSTK_listGadgetClass::LFSTK_setListFromFile(const char *filepath,bool incl { if(strlen(buffer)>0) { - ls.label=strdup(buffer); + ls.label=buffer; ls.userData=USERDATA(userdata); this->LFSTK_appendToList(ls); } @@ -191,9 +191,9 @@ void LFSTK_listGadgetClass::LFSTK_updateList(void) this->labelsArray->at(j)->LFSTK_setLabelGravity(MENU); this->listDataArray->at(j+this->listOffset).listPos=j; if(this->listDataArray->at(j+this->listOffset).imageType==CAIROTHUMB) - this->labelsArray->at(j)->LFSTK_setImageFromSurface(this->listDataArray->at(j+this->listOffset).data.surface,MENU,true); + this->labelsArray->at(j)->LFSTK_setImageFromSurface(this->listDataArray->at(j+this->listOffset).surface,MENU,true); if(this->listDataArray->at(j+this->listOffset).imageType==FILETHUMB) - this->labelsArray->at(j)->LFSTK_setImageFromPath(this->listDataArray->at(j+this->listOffset).data.imagePath,MENU,true); + this->labelsArray->at(j)->LFSTK_setImageFromPath(this->listDataArray->at(j+this->listOffset).imagePath,MENU,true); this->labelsArray->at(j)->LFSTK_showGadget(); this->labelsArray->at(j)->LFSTK_clearWindow(); } @@ -353,11 +353,11 @@ void LFSTK_listGadgetClass::freeList(void) { for(int j=0;jlistDataArray->size();j++) { - freeAndNull(&this->listDataArray->at(j).label); - if((this->listDataArray->at(j).imageType==CAIROTHUMB) && (this->listDataArray->at(j).data.surface!=NULL) && (this->freeCairoImages==true)) - cairo_surface_destroy(this->listDataArray->at(j).data.surface); - if((this->listDataArray->at(j).imageType==FILETHUMB) && (this->listDataArray->at(j).data.imagePath!=NULL)) - freeAndNull(&this->listDataArray->at(j).data.imagePath); + //freeAndNull(&this->listDataArray->at(j).label); + if((this->listDataArray->at(j).imageType==CAIROTHUMB) && (this->listDataArray->at(j).surface!=NULL) && (this->freeCairoImages==true)) + cairo_surface_destroy(this->listDataArray->at(j).surface); + //if((this->listDataArray->at(j).imageType==FILETHUMB) && (this->listDataArray->at(j).imagePath.length()>0)) + // freeAndNull(&this->listDataArray->at(j).imagePath); } this->listDataArray->clear(); } @@ -374,10 +374,10 @@ void LFSTK_listGadgetClass::LFSTK_freeList(void) * Get selected label. * \return const char *label; */ -const char *LFSTK_listGadgetClass::LFSTK_getSelectedLabel(void) +const char *LFSTK_listGadgetClass::LFSTK_getSelectedLabel(void)//TODO// { if(this->listDataArray->size()>this->currentItem) - return(this->listDataArray->at(this->currentItem).label); + return(this->listDataArray->at(this->currentItem).label.c_str()); return(""); } @@ -387,12 +387,12 @@ const char *LFSTK_listGadgetClass::LFSTK_getSelectedLabel(void) * \param int Index. * \return const char *label; */ -const char *LFSTK_listGadgetClass::LFSTK_getLabelAtIndex(int index) +const char *LFSTK_listGadgetClass::LFSTK_getLabelAtIndex(int index)//TODO// { if((index>this->listDataArray->size()-1) || (index<0)) return(NULL); - return(this->listDataArray->at(index).label); + return(this->listDataArray->at(index).label.c_str()); } /** @@ -508,7 +508,9 @@ int LFSTK_listGadgetClass::LFSTK_findByLabel(const char *needle,bool select) { for(int j=0;jlistDataArray->size();j++) { - if(strcmp(this->listDataArray->at(j).label,needle)==0) + //if(strcmp(this->listDataArray->at(j).label,needle)==0)//TODO// + //if(strcmp(this->listDataArray->at(j).label.c_str(),needle)==0) + if(this->listDataArray->at(j).label.compare(needle)==0) { if(select==true) this->LFSTK_selectByIndex(j); diff --git a/LFSToolKit/LFSToolKit/lfstk/LFSTKListGadget.h b/LFSToolKit/LFSToolKit/lfstk/LFSTKListGadget.h index 30dabe5d..585e0169 100644 --- a/LFSToolKit/LFSToolKit/lfstk/LFSTKListGadget.h +++ b/LFSToolKit/LFSToolKit/lfstk/LFSTKListGadget.h @@ -34,15 +34,12 @@ enum {NOTHUMB=0,CAIROTHUMB,FILETHUMB}; struct listLabelStruct { - char *label; - int imageType; - void *userData; - int listPos; - union imageData - { - char *imagePath=NULL; - cairo_surface_t *surface; - } data; + std::string label; + int imageType; + void *userData; + int listPos; + std::string imagePath; + cairo_surface_t *surface; }; /** diff --git a/LFSToolKit/LFSToolKit/lfstk/LFSTKUtilityClass.cpp b/LFSToolKit/LFSToolKit/lfstk/LFSTKUtilityClass.cpp index 907f6b83..aa38d4a0 100644 --- a/LFSToolKit/LFSToolKit/lfstk/LFSTKUtilityClass.cpp +++ b/LFSToolKit/LFSToolKit/lfstk/LFSTKUtilityClass.cpp @@ -19,6 +19,7 @@ */ #include "lfstk/LFSTKGlobals.h" + LFSTK_UtilityClass::~LFSTK_UtilityClass() { } @@ -27,6 +28,12 @@ LFSTK_UtilityClass::LFSTK_UtilityClass() { } +/** +* Duplicates 'c' strtok. +* \param std::string str String to split. +* \param std::string delimiter Split on these chars. +* \return std::vector. +*/ std::vector LFSTK_UtilityClass::LFSTK_strTok(std::string str,std::string delimiter) { std::vector tokenstrings; @@ -34,7 +41,7 @@ std::vector LFSTK_UtilityClass::LFSTK_strTok(std::string str,std::s tokenstrings.push_back(str.substr(0,foundit)); str=str.erase(0,foundit+1); - while (foundit!=std::string::npos) + while(foundit!=std::string::npos) { foundit=str.find_first_of(delimiter); tokenstrings.push_back(str.substr(0,foundit)); @@ -43,3 +50,33 @@ std::vector LFSTK_UtilityClass::LFSTK_strTok(std::string str,std::s return(tokenstrings); } +/** +* Duplicates 'c' strstr/strcasestr. +* \param std::string str Haystack to search. +* \param std::string needle Needle. +* \param bool caseinsensitive Do case insensitive search (strcasestr). +* \return std::string Found str or "". +*/ +std::string LFSTK_UtilityClass::LFSTK_strStr(std::string haystack,std::string needle,bool caseinsensitive) +{ + std::string::size_type found=haystack.find(needle); + if(found!=std::string::npos) + { + return(haystack.substr(found,std::string::npos)); + } + else + { + if(caseinsensitive==false) + return(""); + std::string upperhaystack=haystack; + std::string upperneedle=needle; + std::transform(upperhaystack.begin(), upperhaystack.end(), upperhaystack.begin(), ::toupper); + std::transform(upperneedle.begin(), upperneedle.end(), upperneedle.begin(), ::toupper); + found=upperhaystack.find(upperneedle); + if (found!=std::string::npos) + { + return(haystack.substr(found,std::string::npos)); + } + } + return(""); +} diff --git a/LFSToolKit/LFSToolKit/lfstk/LFSTKUtilityClass.h b/LFSToolKit/LFSToolKit/lfstk/LFSTKUtilityClass.h index c1aec82b..1a3b2074 100644 --- a/LFSToolKit/LFSToolKit/lfstk/LFSTKUtilityClass.h +++ b/LFSToolKit/LFSToolKit/lfstk/LFSTKUtilityClass.h @@ -28,6 +28,7 @@ class LFSTK_UtilityClass ~LFSTK_UtilityClass(); static std::vector LFSTK_strTok(std::string str,std::string delimiter); + static std::string LFSTK_strStr(std::string haystack,std::string needle,bool caseinsensitive=false); }; #endif diff --git a/LFSToolKit/examples/calander.cpp b/LFSToolKit/examples/calander.cpp index 81ea8304..e538cf9d 100755 --- a/LFSToolKit/examples/calander.cpp +++ b/LFSToolKit/examples/calander.cpp @@ -98,7 +98,7 @@ void setEditText(void) caldata=apc->globalLib->LFSTK_runAndGet("%s %s","cal",thismonth.c_str()); if(holdThisMonth==currentmonth) { - thisday=apc->globalLib->LFSTK_oneLiner(std::string("%s"),"date +%d"); + thisday=apc->globalLib->LFSTK_oneLiner(std::string("%s"),"date +%d|sed 's/^0//'"); dl=thisday.length(); thisday=" "+thisday+" "; std::string::size_type found; diff --git a/LFSToolKit/examples/list.cpp b/LFSToolKit/examples/list.cpp index 2715b375..a0ff7f17 100755 --- a/LFSToolKit/examples/list.cpp +++ b/LFSToolKit/examples/list.cpp @@ -53,7 +53,7 @@ bool select(void *object,void* userdata) printf("List item=%i\n",list->LFSTK_getCurrentListItem()); printf("Selected List item string=%s\n",list->LFSTK_getSelectedLabel()); if(list->listDataArray->at(list->LFSTK_getCurrentListItem()).imageType==FILETHUMB) - printf("Image path=%s\n",list->listDataArray->at(list->LFSTK_getCurrentListItem()).data.imagePath); + printf("Image path=%s\n",list->listDataArray->at(list->LFSTK_getCurrentListItem()).imagePath.c_str()); printf("UserData=%p\n",list->listDataArray->at(list->LFSTK_getCurrentListItem()).userData); return(true); } @@ -116,13 +116,13 @@ int main(int argc, char **argv) listLabelStruct ls; for(int j=0;j<15;j++) { - ls.label=strdup((char*)lst[j]); + ls.label=lst[j]; ls.imageType=FILETHUMB; //ls.imageType=NOTHUMB; if(images[j]!=NULL) - ls.data.imagePath=strdup(images[j]); + ls.imagePath=images[j]; else - ls.data.imagePath=NULL; + ls.imagePath=""; ls.userData=USERDATA(j+0x1000); list->LFSTK_appendToList(ls); }