[gtk/cherry-pick-6d8fb83a] aboutdialog: Update precondition checks for new licenses added in 3.24.20



commit b06353a8f7f993fb2363c2da331fbe2bf9d43e7f
Author: Simon McVittie <smcv debian org>
Date:   Mon May 11 17:12:08 2020 +0000

    aboutdialog: Update precondition checks for new licenses added in 3.24.20
    
    To avoid making this mistake again, add a static assertion that the
    enum is in sync with gtk_license_info, and use the length of
    gtk_license_info for the precondition check.
    
    Signed-off-by: Simon McVittie <smcv debian org>
    Resolves: #2734
    
    
    (cherry picked from commit 6d8fb83aa9e2e063f5a067e18339954913b945cf)

 gtk/gtkaboutdialog.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
---
diff --git a/gtk/gtkaboutdialog.c b/gtk/gtkaboutdialog.c
index 1c33631696..76d827fba0 100644
--- a/gtk/gtkaboutdialog.c
+++ b/gtk/gtkaboutdialog.c
@@ -135,6 +135,7 @@ static const LicenseInfo gtk_license_info [] = {
   { N_("Apache License, Version 2.0"), "https://opensource.org/licenses/Apache-2.0"; },
   { N_("Mozilla Public License 2.0"), "https://opensource.org/licenses/MPL-2.0"; }
 };
+G_STATIC_ASSERT (G_N_ELEMENTS (gtk_license_info) - 1 == GTK_LICENSE_MPL_2_0);
 
 typedef struct
 {
@@ -2345,7 +2346,7 @@ gtk_about_dialog_set_license_type (GtkAboutDialog *about,
 {
   g_return_if_fail (GTK_IS_ABOUT_DIALOG (about));
   g_return_if_fail (license_type >= GTK_LICENSE_UNKNOWN &&
-                    license_type <= GTK_LICENSE_AGPL_3_0_ONLY);
+                    license_type < G_N_ELEMENTS (gtk_license_info));
 
   if (about->license_type != license_type)
     {


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]