From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id 483CE1FF17E for ; Thu, 30 Oct 2025 12:06:22 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 39D201E7F7; Thu, 30 Oct 2025 12:06:43 +0100 (CET) From: Christoph Heiss To: pve-devel@lists.proxmox.com Date: Thu, 30 Oct 2025 12:06:16 +0100 Message-ID: <20251030110627.812398-15-c.heiss@proxmox.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251030110627.812398-1-c.heiss@proxmox.com> References: <20251030110627.812398-1-c.heiss@proxmox.com> MIME-Version: 1.0 X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1761822382285 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.041 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment RCVD_IN_MSPIKE_H2 0.001 Average reputation (+2) SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: [pve-devel] [PATCH installer v2 14/15] ui: gtk3: allow passing of dialog parent window X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox VE development discussion Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" For GTK to properly z-order the dialog, i.e. so that it gets put on top, the correct parent window must be specified. By default this is the root window, but for some settings we open an additional dialog window, in which these must be used as parent. Signed-off-by: Christoph Heiss --- Changes v1 -> v2: * new patch Proxmox/UI.pm | 12 ++++++------ Proxmox/UI/Gtk3.pm | 12 ++++++------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/Proxmox/UI.pm b/Proxmox/UI.pm index 99988ab..55a78e4 100644 --- a/Proxmox/UI.pm +++ b/Proxmox/UI.pm @@ -48,13 +48,13 @@ my sub get_env { } sub message { - my ($msg) = @_; - get_ui()->message($msg); + my ($msg, $parentwindow) = @_; + get_ui()->message($msg, $parentwindow); } sub error { - my ($msg) = @_; - get_ui()->error($msg); + my ($msg, $parentwindow) = @_; + get_ui()->error($msg, $parentwindow); } sub finished { @@ -63,8 +63,8 @@ sub finished { } sub prompt { - my ($query) = @_; - return get_ui()->prompt($query); + my ($query, $parentwindow) = @_; + return get_ui()->prompt($query, $parentwindow); } sub display_html { diff --git a/Proxmox/UI/Gtk3.pm b/Proxmox/UI/Gtk3.pm index 9af3d6a..82a4623 100644 --- a/Proxmox/UI/Gtk3.pm +++ b/Proxmox/UI/Gtk3.pm @@ -8,18 +8,18 @@ use Gtk3; use base qw(Proxmox::UI::Base); sub message { - my ($self, $msg) = @_; + my ($self, $msg, $parentwindow) = @_; - my $window = $self->{state}->{window}; + my $window = $parentwindow // $self->{state}->{window}; my $dialog = Gtk3::MessageDialog->new($window, 'modal', 'info', 'ok', $msg); $dialog->run(); $dialog->destroy(); } sub error { - my ($self, $msg) = @_; + my ($self, $msg, $parentwindow) = @_; - my $window = $self->{state}->{window}; + my $window = $parentwindow // $self->{state}->{window}; my $dialog = Gtk3::MessageDialog->new($window, 'modal', 'error', 'ok', $msg); $dialog->run(); $dialog->destroy(); @@ -31,9 +31,9 @@ sub finished { } sub prompt { - my ($self, $query) = @_; + my ($self, $query, $parentwindow) = @_; - my $window = $self->{state}->{window}; + my $window = $parentwindow // $self->{state}->{window}; my $dialog = Gtk3::MessageDialog->new($window, 'modal', 'question', 'ok-cancel', $query); my $response = $dialog->run(); $dialog->destroy(); -- 2.51.0 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel