Jief_Machak Posted May 12, 2020 Share Posted May 12, 2020 9 hours ago, Pene said: removed .wc_str() For giving to a parameter that is explicitly a CHAR16*, you still have to use wc_str(). What I did is to accept XString (I mean XString8 or XStringW) as well as char* wchar_t* for method in objects XString and XStringArray (like takeValueFrom, concatAll, etc.). This should work the same and not having fixed size limitation : for (UINTN Index = 0; Index < 60; Index++) { XStringW Name; Name.SPrintf(L"EFI\\CLOVER\\misc\\screenshot%lld.png", Index); if (!FileExists(SelfRootDir, Name.wc_str())) { Status = egSaveFile(SelfRootDir, Name.wc_str(), FileData, FileDataLength); if (!EFI_ERROR(Status)) { break; } } } Did I do a FileExists version that accept XStringW ? If yes, wc_str() in FileExists could be removed. Link to comment Share on other sites More sharing options...
Pene Posted May 12, 2020 Share Posted May 12, 2020 (edited) 48 minutes ago, Jief_Machak said: For giving to a parameter that is explicitly a CHAR16*, you still have to use wc_str(). What I did is to accept XString (I mean XString8 or XStringW) as well as char* wchar_t* for method in objects XString and XStringArray (like takeValueFrom, concatAll, etc.). I still don't understand how the original code could have produced a "EFI\\CLOVER\\misc.png" in some cases (I couldn't reproduce through). Edited May 12, 2020 by Pene Link to comment Share on other sites More sharing options...
Jief_Machak Posted May 12, 2020 Share Posted May 12, 2020 @Pene Sorry, I didn't have a look. I'm really overwhelmed by something else for the next few days. I missed this post : 4 hours ago, vector sigma said: Sorry I felt asleep, tomorrow Jief probably will fix it. That should compile: XStringW Name = L"EFI\\CLOVER\\misc\\screenshot_test.png"_XSW; Status = egSaveFile(SelfRootDir, Name.wc_str(), FileData, FileDataLength); if (EFI_ERROR(Status)) { MsgLog("Make screenshot_test fail\n"); } That doesn't compile ??? 10 hours ago, Pene said: 10 hours ago, LAbyOne said: This is Good! no additional folder created only shots into misc. Thanks Very strange, in that case it looks like a bug in XStringW() or SWPrintf(). @Jief_Machak any clue? I missed this one too... Link to comment Share on other sites More sharing options...
Jief_Machak Posted May 12, 2020 Share Posted May 12, 2020 In fact, I missed quite a few post and I'm a bit lost. If there is a suspected in SWPrintf of XString, I'll investigate. What wasn't working as it should ? Link to comment Share on other sites More sharing options...
Slice Posted May 12, 2020 Share Posted May 12, 2020 20 minutes ago, Jief_Machak said: In fact, I missed quite a few post and I'm a bit lost. If there is a suspected in SWPrintf of XString, I'll investigate. What wasn't working as it should ? See this message https://www.insanelymac.com/forum/?app=core&module=system&controller=content&do=find&content_class=forums_Topic&content_id=284656&content_commentid=2721955 But we can't understand what is wrong. Looks like string "\\EFI\\CLOVER\\misc\\screenshot0.png" was converted to "\\EFI\\CLOVER\\misc.png" Link to comment Share on other sites More sharing options...
Pene Posted May 12, 2020 Share Posted May 12, 2020 (edited) 31 minutes ago, Jief_Machak said: In fact, I missed quite a few post and I'm a bit lost. If there is a suspected in SWPrintf of XString, I'll investigate. What wasn't working as it should ? OK, Let me make a summary: @LAbyOne reported that when he makes a screenshot (F10) from Clover GUI, a misc.png folder is created: https://www.insanelymac.com/forum/uploads/monthly_2020_05/1891019853_Screenshot2020-05-11at18_09_00.png.86e860af1b31ee8a0ba2f99b55634fd1.png He also mentioned also that every time he deletes it, after he makes another screenshot, it is created again. @Matgen84 confirmed he has the same issue, but neither me not @vector sigma could reproduce it. The code resposible for that is at egScreenShot(VOID) @ rEFIt_UEFI/libeg/libscreen.cpp. @vector sigma thought it is due to a missing .wc_str() in FileExists, so he added that in a commit, but the issue persisted for @LAbyOne. Then he offered to change the code in Clover with this: for (UINTN Index = 0; Index < 60; Index++) { CHAR16 Name[128]; UnicodeSPrint(Name, 256, L"EFI\\CLOVER\\misc\\screenshot%lld.png", Index); if (!FileExists(SelfRootDir, Name)) { Status = egSaveFile(SelfRootDir, Name, FileData, FileDataLength); if (!EFI_ERROR(Status)) { break; } } } Which @LabyOne tested (he changed it himself, it wasn't committed to Clover), and said it solved the issue. 9 minutes ago, Slice said: See this message https://www.insanelymac.com/forum/?app=core&module=system&controller=content&do=find&content_class=forums_Topic&content_id=284656&content_commentid=2721955 But we can't understand what is wrong. Looks like string "\\EFI\\CLOVER\\misc\\screenshot0.png" was converted to "\\EFI\\CLOVER\\misc.png" Did you manage to reproduce the problem? Edited May 12, 2020 by Pene Link to comment Share on other sites More sharing options...
Slice Posted May 12, 2020 Share Posted May 12, 2020 Never saw misc.png while I often test. But sometimes I found strange folders with names by chinese letters. There is a bug in egSaveFile(). Link to comment Share on other sites More sharing options...
Jief_Machak Posted May 12, 2020 Share Posted May 12, 2020 If I understand well, the original code was with a XStringW and that created a misc.png but for @LAbyOne and @Matgen84 only ? I think we must find what it is. Could be a bug in Xcode compiler... I've seen that before. @LAbyOne and @Matgen84 : could you put back the code that creates misc.png and commit in a branch ? Then I'll see if it does that same here. Link to comment Share on other sites More sharing options...
Pene Posted May 12, 2020 Share Posted May 12, 2020 (edited) 8 minutes ago, Jief_Machak said: If I understand well, the original code was with a XStringW and that created a misc.png but for @LAbyOne and @Matgen84 only ? I think we must find what it is. Could be a bug in Xcode compiler... I've seen that before. @LAbyOne and @Matgen84 : could you put back the code that creates misc.png and commit in a branch ? Then I'll see if it does that same here. The code is still with a XStringW, no one changed it in Clover yet. And I always tested with GCC. Didn't check with Xcode, but sure how they compile. Edit: tested now an Xcode compile, and it still doesn't create the folder for me. Edited May 12, 2020 by Pene 1 Link to comment Share on other sites More sharing options...
Pene Posted May 12, 2020 Share Posted May 12, 2020 @Matgen84 You had the issue with your own builds or also with Clover release builds? Link to comment Share on other sites More sharing options...
Slice Posted May 12, 2020 Share Posted May 12, 2020 Or this is a bug in Fat32 driver provided by UEFI BIOS so why we can't reproduce it! For this reason we produce own driver Fat.efi and strongly recommend to include it into folder /EFI/CLOVER/drivers/UEFI/ Link to comment Share on other sites More sharing options...
Matgen84 Posted May 12, 2020 Share Posted May 12, 2020 (edited) 5 minutes ago, Pene said: @Matgen84 You had the issue with your own builds or also with Clover release builds? I've misc.png folder with my won build from source (Xcode). In few minutes, I build ffec5b8. Test and report. I've this issue when try to build commit ffec5b8 Updating 56c4e4dd4..ffec5b89c error: Your local changes to the following files would be overwritten by merge: CloverPackage/package/po/clover.pot CloverPackage/package/po/de.po CloverPackage/package/po/en.po CloverPackage/package/po/es.po CloverPackage/package/po/fr.po CloverPackage/package/po/hr.po CloverPackage/package/po/id.po CloverPackage/package/po/it.po CloverPackage/package/po/ja.po CloverPackage/package/po/ko.po CloverPackage/package/po/lv.po CloverPackage/package/po/nl.po CloverPackage/package/po/pl.po CloverPackage/package/po/pt-BR.po CloverPackage/package/po/pt.po CloverPackage/package/po/ro.po CloverPackage/package/po/ru.po CloverPackage/package/po/tr.po CloverPackage/package/po/uk.po CloverPackage/package/po/uk_UA.po CloverPackage/package/po/vi.po CloverPackage/package/po/zh_CN.po CloverPackage/package/po/zh_TW.po Please commit your changes or stash them before you merge. Aborting Edited May 12, 2020 by Matgen84 Link to comment Share on other sites More sharing options...
Jief_Machak Posted May 12, 2020 Share Posted May 12, 2020 2 minutes ago, Pene said: @Matgen84 You had the issue with your own builds or also with Clover release builds? Code still there ? Oh, ok. @Matgen84 : good. Check if your compilation of the latest commit still produces the misc.png. If yes @Pene could you send him your compilation. Interesting to know If Pene dosen't have the problem and Matgen84 you still have it with his .efi. That could mean that it's a UEFI bug, but in that case why going back to UnicodeSPrint fixed it ? 1 Link to comment Share on other sites More sharing options...
Pene Posted May 12, 2020 Share Posted May 12, 2020 5 minutes ago, Matgen84 said: I've misc.png folder with my won build from source (Xcode). In few minutes, I build ffec5b8. Test and report. I've this issue when try to build commit ffec5b8 Updating 56c4e4dd4..ffec5b89c error: Your local changes to the following files would be overwritten by merge: CloverPackage/package/po/clover.pot CloverPackage/package/po/de.po CloverPackage/package/po/en.po CloverPackage/package/po/es.po CloverPackage/package/po/fr.po CloverPackage/package/po/hr.po CloverPackage/package/po/id.po CloverPackage/package/po/it.po CloverPackage/package/po/ja.po CloverPackage/package/po/ko.po CloverPackage/package/po/lv.po CloverPackage/package/po/nl.po CloverPackage/package/po/pl.po CloverPackage/package/po/pt-BR.po CloverPackage/package/po/pt.po CloverPackage/package/po/ro.po CloverPackage/package/po/ru.po CloverPackage/package/po/tr.po CloverPackage/package/po/uk.po CloverPackage/package/po/uk_UA.po CloverPackage/package/po/vi.po CloverPackage/package/po/zh_CN.po CloverPackage/package/po/zh_TW.po Please commit your changes or stash them before you merge. Aborting git reset --hard git pull then compile 1 Link to comment Share on other sites More sharing options...
Jief_Machak Posted May 12, 2020 Share Posted May 12, 2020 You might to delete the Build folder after a git reset. Link to comment Share on other sites More sharing options...
Matgen84 Posted May 12, 2020 Share Posted May 12, 2020 Just now, Jief_Machak said: You might to delete the Build folder after a git reset. I use git stash to solve this problem. Build is Ok. Update and test. Thanks Link to comment Share on other sites More sharing options...
Pene Posted May 12, 2020 Share Posted May 12, 2020 1 minute ago, Matgen84 said: I use git stash to solve this problem. Build is Ok. Update and test. Thanks stash is for when you actually made changes and wanted to keep them, which I doubt is the case. Link to comment Share on other sites More sharing options...
Matgen84 Posted May 12, 2020 Share Posted May 12, 2020 4 minutes ago, Pene said: stash is for when you actually made changes and wanted to keep them, which I doubt is the case. Sure, I don't make any change to source files. I've misc.png folder with my own build r5117 commit ffec5b8 from source (Xcode). Link to comment Share on other sites More sharing options...
Slice Posted May 12, 2020 Share Posted May 12, 2020 1 minute ago, Matgen84 said: Sure, I don't make any change to source files. I've misc.png folder with my own build r5117 commit ffec5b8 from source (Xcode). Do you have Fat.efi driver? Link to comment Share on other sites More sharing options...
Jief_Machak Posted May 12, 2020 Share Posted May 12, 2020 why is it a folder and not a file ? egSaveFile can create folder ? Link to comment Share on other sites More sharing options...
Pene Posted May 12, 2020 Share Posted May 12, 2020 (edited) 8 minutes ago, Matgen84 said: Sure, I don't make any change to source files. I've misc.png folder with my own build r5117 commit ffec5b8 from source (Xcode). Attach your CLOVERX64.efi Which Xcode version is this? Could be a bug with a specific Xcode. Edited May 12, 2020 by Pene Link to comment Share on other sites More sharing options...
Matgen84 Posted May 12, 2020 Share Posted May 12, 2020 2 minutes ago, Pene said: Attach your CLOVERX64.efi Which Xcode version is this? I use Xcode 11.3.1 (Mojave). CLOVERX64.efi.zip Link to comment Share on other sites More sharing options...
Pene Posted May 12, 2020 Share Posted May 12, 2020 (edited) 3 minutes ago, Matgen84 said: I use Xcode 11.3.1 (Mojave). CLOVERX64.efi.zip Yeah well his build also dont cause me the problem. Did you try to erase the misc folder and confirm it is recreated when making screenshot? How about with binary from Clover's release 5117, do you also have the problem? Also, what Slice asked, what do you have in drivers? Edited May 12, 2020 by Pene Link to comment Share on other sites More sharing options...
Slice Posted May 12, 2020 Share Posted May 12, 2020 7 minutes ago, Jief_Machak said: why is it a folder and not a file ? egSaveFile can create folder ? Yes, it can. It will create folder misc/ if it is absent. 1 Link to comment Share on other sites More sharing options...
Matgen84 Posted May 12, 2020 Share Posted May 12, 2020 16 minutes ago, Pene said: Yeah well his build also dont cause me the problem. Did you try to erase the misc folder and confirm it is recreated when making screenshot? How about with binary from Clover's release 5117, do you also have the problem? Also, what Slice asked, what do you have in drivers? I will try to erase the actual misc folder and report his recreation. Why test binary release 5117! I don't understand. All works well before. What is the relationship between the drivers and the misc.png folder? IvyBridge config Drivers in use: Link to comment Share on other sites More sharing options...
Recommended Posts