Cherry-pick several beneficial upstream patches.

ubuntu/disco
Simon Quigley 5 years ago
parent 3758f97ccd
commit c2295028e2

9
debian/changelog vendored

@ -1,3 +1,12 @@
calamares (3.2.4-0ubuntu3) UNRELEASED; urgency=medium
* Cherry-pick several beneficial upstream patches:
- Ensure the firmware type is set in the global configuration.
- Avoid heap-wrangling the CreatePartitionDialog.
- Drop some re-parenting trickery.
-- Simon Quigley <tsimonq2@ubuntu.com> Thu, 11 Apr 2019 12:39:57 -0500
calamares (3.2.4-0ubuntu2) disco; urgency=medium
* Restore button updates in partition page (LP: #1823569).

@ -0,0 +1,38 @@
Description: [partition] Avoid heap-wrangling
The CreatePartitionDialog doesn't need to be on the heap, it's modal here.
Avoid QPointer weirdness as well.
Author: Adriaan de Groot <groot@kde.org>
Origin: upstream
Applied-Upstream: commit:b4cefff975138e621d9a9437891c9d1b09616b74
Last-Update: 2019-04-11
--- a/src/modules/partition/gui/PartitionPage.cpp
+++ b/src/modules/partition/gui/PartitionPage.cpp
@@ -376,18 +376,18 @@ PartitionPage::onCreateClicked()
if ( !checkCanCreate( model->device() ) )
return;
- QPointer< CreatePartitionDialog > dlg = new CreatePartitionDialog( model->device(),
- partition->parent(),
- nullptr,
- getCurrentUsedMountpoints(),
- this );
- dlg->initFromFreeSpace( partition );
- if ( dlg->exec() == QDialog::Accepted )
+ CreatePartitionDialog dlg(
+ model->device(),
+ partition->parent(),
+ nullptr,
+ getCurrentUsedMountpoints(),
+ this );
+ dlg.initFromFreeSpace( partition );
+ if ( dlg.exec() == QDialog::Accepted )
{
- Partition* newPart = dlg->createPartition();
- m_core->createPartition( model->device(), newPart, dlg->newFlags() );
+ Partition* newPart = dlg.createPartition();
+ m_core->createPartition( model->device(), newPart, dlg.newFlags() );
}
- delete dlg;
}
void

@ -0,0 +1,22 @@
Description: [partition] Drop some re-parenting trickery
Can't re-parent across threads easily. If device is made by
immutableDeviceCopy(), then it's still owned by the PartitionCoreModule;
giving it away to the widget is not a good idea.
Author: Adriaan de Groot <groot@kde.org>
Origin: upstream
Applied-Upstream: commit:2092ec3c9a0a37553fd061f423df9d29fe55ab80
Last-Update: 2019-04-11
--- a/src/modules/partition/gui/ChoicePage.cpp
+++ b/src/modules/partition/gui/ChoicePage.cpp
@@ -882,11 +882,6 @@ ChoicePage::updateDeviceStatePreview()
PartitionModel* model = new PartitionModel( m_beforePartitionBarsView );
model->init( deviceBefore, m_core->osproberEntries() );
- // The QObject parents tree is meaningful for memory management here,
- // see qDeleteAll above.
- deviceBefore->setParent( model ); // Can't reparent across threads
- model->setParent( m_beforePartitionBarsView );
-
m_beforePartitionBarsView->setModel( model );
m_beforePartitionLabelsView->setModel( model );

@ -1,3 +1,6 @@
0001-replace-pkexec-by-sudo.patch
apport-package-hook.patch
update-buttons.patch
set-firmware-type.patch
avoid-heap-wrangling.patch
drop-reparenting-trickery.patch

@ -0,0 +1,19 @@
Description: [partition] Set firmware type
Author: Adriaan de Groot <groot@kde.org>
Origin: upstream
Applied-Upstream: commit:105f9c48617b390743aefe2e612d1761a420a7fc
Last-Update: 2019-04-11
--- a/src/modules/partition/gui/PartitionViewStep.cpp
+++ b/src/modules/partition/gui/PartitionViewStep.cpp
@@ -553,6 +553,11 @@ PartitionViewStep::setConfigurationMap(
efiSP = QStringLiteral( "/boot/efi" );
gs->insert( "efiSystemPartition", efiSP );
+ // Set up firmwareType global storage entry. This is used, e.g. by the bootloader module.
+ QString firmwareType( PartUtils::isEfiSystem() ? QStringLiteral( "efi" ) : QStringLiteral( "bios" ) );
+ cDebug() << "Setting firmwareType to" << firmwareType;
+ gs->insert( "firmwareType", firmwareType );
+
// SWAP SETTINGS
//
// This is a bit convoluted because there's legacy settings to handle as well
Loading…
Cancel
Save