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
+
+