forked from AuroraMiddleware/gtk
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
This commit is contained in:
parent
7ae1d9d796
commit
6451250b2e
@ -135,6 +135,9 @@ 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" }
|
||||
};
|
||||
/* Keep this static assertion updated with the last element of the
|
||||
* enumeration, and make sure it matches the last element of the array */
|
||||
G_STATIC_ASSERT (G_N_ELEMENTS (gtk_license_info) - 1 == GTK_LICENSE_MPL_2_0);
|
||||
|
||||
typedef struct
|
||||
{
|
||||
@ -2345,7 +2348,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)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user