mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-28 14:31:10 +00:00
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_("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" }
|
{ 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
|
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 (GTK_IS_ABOUT_DIALOG (about));
|
||||||
g_return_if_fail (license_type >= GTK_LICENSE_UNKNOWN &&
|
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)
|
if (about->license_type != license_type)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user