diff --git a/Tiano/EfiTianoCompress.c b/Tiano/EfiTianoCompress.c index 62ee91e..0e64f5b 100644 --- a/Tiano/EfiTianoCompress.c +++ b/Tiano/EfiTianoCompress.c @@ -132,10 +132,11 @@ VOID* CopyMem(VOID* dst, CONST VOID* src, size_t size) { } VOID* AllocateZeroPool(size_t size) { + VOID* pool; if (!size) return NULL; - VOID* pool = malloc(size); + pool = malloc(size); memset(pool, 0x00, size); return pool; } @@ -1457,16 +1458,16 @@ IN OUT UINT64 *DstSize UINT8 EfiCompress(CONST VOID* SrcBuffer, CONST UINT64 SrcSize, VOID* DstBuffer, UINT64* DstSize) { - mPBit = 4; VOID* buffer = (VOID*)SrcBuffer; UINT64 size = SrcSize; + mPBit = 4; return Compress(buffer, size, DstBuffer, DstSize); } UINT8 TianoCompress(CONST VOID* SrcBuffer, CONST UINT64 SrcSize, VOID* DstBuffer, UINT64* DstSize) { - mPBit = 5; VOID* buffer = (VOID*)SrcBuffer; UINT64 size = SrcSize; + mPBit = 5; return Compress(buffer, size, DstBuffer, DstSize); } \ No newline at end of file diff --git a/ffsengine.cpp b/ffsengine.cpp index 3a3d993..82c0037 100644 --- a/ffsengine.cpp +++ b/ffsengine.cpp @@ -1490,7 +1490,7 @@ UINT8 FfsEngine::create(const QModelIndex & index, const UINT8 type, const QByte return ERR_NOT_IMPLEMENTED; } - if (result) + if (result && result != ERR_VOLUMES_NOT_FOUND) return result; // Set action @@ -1548,7 +1548,7 @@ UINT8 FfsEngine::create(const QModelIndex & index, const UINT8 type, const QByte // Parse file result = parseFile(created, fileIndex, erasePolarity ? ERASE_POLARITY_TRUE : ERASE_POLARITY_FALSE, index, mode); - if (result) + if (result && result != ERR_VOLUMES_NOT_FOUND) return result; // Set action @@ -1599,7 +1599,7 @@ UINT8 FfsEngine::create(const QModelIndex & index, const UINT8 type, const QByte // Parse section QModelIndex sectionIndex; result = parseSection(created, sectionIndex, index, mode); - if (result) + if (result && result != ERR_VOLUMES_NOT_FOUND) return result; // Set create action @@ -1625,7 +1625,7 @@ UINT8 FfsEngine::create(const QModelIndex & index, const UINT8 type, const QByte // Parse section QModelIndex sectionIndex; result = parseSection(created, sectionIndex, index, mode); - if (result) + if (result && result != ERR_VOLUMES_NOT_FOUND) return result; // Set create action @@ -1645,7 +1645,7 @@ UINT8 FfsEngine::create(const QModelIndex & index, const UINT8 type, const QByte // Parse section QModelIndex sectionIndex; result = parseSection(created, sectionIndex, index, mode); - if (result) + if (result && result != ERR_VOLUMES_NOT_FOUND) return result; // Set create action diff --git a/uefitool.cpp b/uefitool.cpp index 65bf54b..5d2a5b8 100644 --- a/uefitool.cpp +++ b/uefitool.cpp @@ -39,6 +39,7 @@ ui(new Ui::UEFITool) connect(ui->actionRemove, SIGNAL(triggered()), this, SLOT(remove())); connect(ui->actionRebuild, SIGNAL(triggered()), this, SLOT(rebuild())); connect(ui->actionMessagesCopy, SIGNAL(triggered()), this, SLOT(copyMessage())); + connect(ui->actionMessagesCopyAll, SIGNAL(triggered()), this, SLOT(copyAllMessages())); connect(ui->actionMessagesClear, SIGNAL(triggered()), this, SLOT(clearMessages())); connect(ui->actionAbout, SIGNAL(triggered()), this, SLOT(about())); connect(ui->actionAboutQt, SIGNAL(triggered()), this, SLOT(aboutQt())); @@ -80,6 +81,7 @@ void UEFITool::init() ui->menuFileActions->setDisabled(true); ui->menuSectionActions->setDisabled(true); ui->actionMessagesCopy->setDisabled(true); + ui->actionMessagesCopyAll->setDisabled(true); // Make new ffsEngine if (ffsEngine) @@ -91,7 +93,7 @@ void UEFITool::init() connect(ui->structureTreeView->selectionModel(), SIGNAL(currentChanged(const QModelIndex &, const QModelIndex &)), this, SLOT(populateUi(const QModelIndex &))); connect(ui->messageListWidget, SIGNAL(itemDoubleClicked(QListWidgetItem*)), this, SLOT(scrollTreeView(QListWidgetItem*))); - connect(ui->messageListWidget, SIGNAL(itemEntered(QListWidgetItem*)), this, SLOT(enableMessagesCopyAction(QListWidgetItem*))); + connect(ui->messageListWidget, SIGNAL(itemEntered(QListWidgetItem*)), this, SLOT(enableMessagesCopyActions(QListWidgetItem*))); } void UEFITool::populateUi(const QModelIndex ¤t) @@ -562,9 +564,21 @@ void UEFITool::copyMessage() clipboard->setText(ui->messageListWidget->currentItem()->text()); } -void UEFITool::enableMessagesCopyAction(QListWidgetItem* item) +void UEFITool::copyAllMessages() +{ + QString text; + clipboard->clear(); + for(INT32 i = 0; i < ui->messageListWidget->count(); i++) + text.append(ui->messageListWidget->item(i)->text()).append("\n"); + + clipboard->clear(); + clipboard->setText(text); +} + +void UEFITool::enableMessagesCopyActions(QListWidgetItem* item) { ui->actionMessagesCopy->setEnabled(item != NULL); + ui->actionMessagesCopyAll->setEnabled(item != NULL); } void UEFITool::clearMessages() @@ -573,6 +587,7 @@ void UEFITool::clearMessages() messageItems.clear(); ui->messageListWidget->clear(); ui->actionMessagesCopy->setEnabled(false); + ui->actionMessagesCopyAll->setEnabled(false); } void UEFITool::dragEnterEvent(QDragEnterEvent* event) diff --git a/uefitool.h b/uefitool.h index b5244d5..7a919af 100644 --- a/uefitool.h +++ b/uefitool.h @@ -79,7 +79,8 @@ public: void remove(); void copyMessage(); - void enableMessagesCopyAction(QListWidgetItem* item); + void copyAllMessages(); + void enableMessagesCopyActions(QListWidgetItem* item); void clearMessages(); void about(); diff --git a/uefitool.ui b/uefitool.ui index da26167..3e958c5 100644 --- a/uefitool.ui +++ b/uefitool.ui @@ -20,7 +20,7 @@ true - UEFITool 0.18.4 + UEFITool 0.18.5 @@ -269,6 +269,8 @@ &Messages + + @@ -493,6 +495,14 @@ Ctrl+Shift+C + + + C&opy All + + + Ctrl+Alt+C + +