diff options
author | Matthias Clasen <mclasen@redhat.com> | 2023-05-16 21:28:29 +0000 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2023-05-16 21:28:29 +0000 |
commit | 0bbc6f89324e1caa0c8c1919f1b9d4133a59223b (patch) | |
tree | e944e538dd9f882f6de626ee24d7082f279875ab | |
parent | 0434ad3bd9cc2e06d3d7103810aa4b801bb4e1c6 (diff) | |
parent | 1ad4c04b2a17dd84b3929a6c70b2712c31dff99b (diff) | |
download | gtk+-0bbc6f89324e1caa0c8c1919f1b9d4133a59223b.tar.gz |
Merge branch 'ebassi/issue-5837' into 'main'
Fix various compiler warnings with GCC 13
Closes #5837
See merge request GNOME/gtk!5977
-rw-r--r-- | examples/plugman.c | 4 | ||||
-rw-r--r-- | gtk/gtklistitemmanager.c | 23 | ||||
-rw-r--r-- | gtk/gtknotebook.c | 54 | ||||
-rw-r--r-- | tests/animated-revealing.c | 2 | ||||
-rw-r--r-- | tests/testadjustsize.c | 6 | ||||
-rw-r--r-- | tests/testborderdrawing.c | 2 | ||||
-rw-r--r-- | tests/testdndresize.c | 11 | ||||
-rw-r--r-- | tests/testentryicons.c | 8 | ||||
-rw-r--r-- | tests/testhover.c | 5 | ||||
-rw-r--r-- | tests/testlevelbar.c | 2 | ||||
-rw-r--r-- | tests/testoutsetshadowdrawing.c | 2 | ||||
-rw-r--r-- | tests/testoverlaystyleclass.c | 15 | ||||
-rw-r--r-- | tests/testpopup.c | 2 |
13 files changed, 90 insertions, 46 deletions
diff --git a/examples/plugman.c b/examples/plugman.c index 8fb19d7b91..8644bbaace 100644 --- a/examples/plugman.c +++ b/examples/plugman.c @@ -57,7 +57,7 @@ window_paste (GSimpleAction *action, { GtkWindow *window = GTK_WINDOW (user_data); GtkTextView *text = g_object_get_data ((GObject*)window, "plugman-text"); - + gtk_text_buffer_paste_clipboard (gtk_text_view_get_buffer (text), gtk_widget_get_clipboard (GTK_WIDGET (text)), NULL, @@ -221,7 +221,7 @@ plugin_action (GAction *action, g_message ("Color: %s", g_action_get_name (action)); css_provider = gtk_css_provider_new (); - gtk_css_provider_load_from_data (css_provider, css_to_load, -1); + gtk_css_provider_load_from_string (css_provider, css_to_load); gtk_style_context_add_provider_for_display (gdk_display_get_default (), GTK_STYLE_PROVIDER (css_provider), GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); diff --git a/gtk/gtklistitemmanager.c b/gtk/gtklistitemmanager.c index 2ca7f9eaf8..8fc0476370 100644 --- a/gtk/gtklistitemmanager.c +++ b/gtk/gtklistitemmanager.c @@ -597,7 +597,7 @@ gtk_list_tile_get_position (GtkListItemManager *self, } else { - pos = 0; + pos = 0; } for (parent = gtk_rb_tree_node_get_parent (tile); @@ -715,6 +715,7 @@ static void gtk_list_tile_set_type (GtkListTile *tile, GtkListTileType type) { + g_assert (tile != NULL); if (tile->type == type) return; @@ -845,7 +846,8 @@ gtk_list_item_manager_remove_items (GtkListItemManager *self, if (offset) tile = gtk_list_item_manager_ensure_split (self, tile, offset); header = gtk_list_tile_get_previous_skip (tile); - if (header->type != GTK_LIST_TILE_HEADER && header->type != GTK_LIST_TILE_UNMATCHED_HEADER) + if (header != NULL && + (header->type != GTK_LIST_TILE_HEADER && header->type != GTK_LIST_TILE_UNMATCHED_HEADER)) header = NULL; while (n_items > 0) @@ -911,7 +913,7 @@ gtk_list_item_manager_add_items (GtkListItemManager *self, GtkListItemChange *change, guint position, guint n_items) -{ +{ GtkListTile *tile; guint offset; gboolean has_sections; @@ -952,7 +954,7 @@ gtk_list_item_manager_add_items (GtkListItemManager *self, } if (offset) tile = gtk_list_item_manager_ensure_split (self, tile, offset); - + tile = gtk_rb_tree_insert_before (self->items, tile); tile->type = GTK_LIST_TILE_ITEM; tile->n_items = n_items; @@ -962,7 +964,7 @@ gtk_list_item_manager_add_items (GtkListItemManager *self, { GtkListTile *section = gtk_list_tile_get_previous_skip (tile); - if (section->type == GTK_LIST_TILE_HEADER) + if (section != NULL && section->type == GTK_LIST_TILE_HEADER) { gtk_list_item_change_clear_header (change, §ion->widget); gtk_list_tile_set_type (section, @@ -1207,7 +1209,7 @@ gtk_list_item_manager_insert_section (GtkListItemManager *self, { GtkListTile *tile, *footer, *header; guint offset; - + tile = gtk_list_item_manager_get_nth (self, pos, &offset); if (tile == NULL) { @@ -1225,7 +1227,8 @@ gtk_list_item_manager_insert_section (GtkListItemManager *self, tile = gtk_list_item_manager_ensure_split (self, tile, offset); header = gtk_list_tile_get_previous_skip (tile); - if (header->type == GTK_LIST_TILE_HEADER || header->type == GTK_LIST_TILE_UNMATCHED_HEADER) + if (header != NULL && + (header->type == GTK_LIST_TILE_HEADER || header->type == GTK_LIST_TILE_UNMATCHED_HEADER)) { if (header_type == GTK_LIST_TILE_HEADER) gtk_list_tile_set_type (header, header_type); @@ -1257,7 +1260,7 @@ gtk_list_tile_find_widget_before (GtkListTile *tile) for (other = gtk_rb_tree_node_get_previous (tile); other; other = gtk_rb_tree_node_get_previous (other)) - { + { if (other->widget) return other->widget; } @@ -1460,7 +1463,7 @@ gtk_list_item_manager_model_items_changed_cb (GListModel *model, GtkListTile *tile, *new_tile; GtkWidget *insert_after; guint i, offset; - + tile = gtk_list_item_manager_get_nth (self, position, &offset); for (new_tile = tile ? gtk_rb_tree_node_get_previous (tile) : gtk_rb_tree_get_last (self->items); new_tile && new_tile->widget == NULL; @@ -1576,7 +1579,7 @@ gtk_list_item_manager_model_items_changed_cb (GListModel *model, GtkListItemTracker *tracker = l->data; GtkListTile *tile; - if (tracker->widget != NULL || + if (tracker->widget != NULL || tracker->position == GTK_INVALID_LIST_POSITION) continue; diff --git a/gtk/gtknotebook.c b/gtk/gtknotebook.c index f0c84d8ed1..932701206d 100644 --- a/gtk/gtknotebook.c +++ b/gtk/gtknotebook.c @@ -46,6 +46,7 @@ #include "gtkorientable.h" #include "gtksizerequest.h" #include "gtkprivate.h" +#include "gtkselectionmodel.h" #include "gtkstack.h" #include "gtktypebuiltins.h" #include "gtkwidgetprivate.h" @@ -1172,7 +1173,7 @@ gtk_notebook_class_init (GtkNotebookClass *class) * * A selection model with the pages. */ - properties[PROP_PAGES] = + properties[PROP_PAGES] = g_param_spec_object ("pages", NULL, NULL, G_TYPE_LIST_MODEL, GTK_PARAM_READABLE); @@ -1358,7 +1359,7 @@ gtk_notebook_class_init (GtkNotebookClass *class) /** * GtkNotebook|menu.popup: * - * Opens the context menu. + * Opens the context menu. */ gtk_widget_class_install_action (widget_class, "menu.popup", NULL, gtk_notebook_popup_menu); @@ -1827,7 +1828,7 @@ gtk_notebook_reorder_tab (GtkNotebook *notebook, page_num = reorder_tab (notebook, child->next, notebook->focus_tab); else page_num = reorder_tab (notebook, child, notebook->focus_tab); - + gtk_notebook_child_reordered (notebook, notebook->focus_tab->data); for (element = notebook->children, i = 0; element; element = element->next, i++) { @@ -7131,7 +7132,7 @@ gtk_notebook_get_page (GtkNotebook *notebook, list = gtk_notebook_find_child (notebook, child); if (list != NULL) page = list->data; - + return page; } @@ -7197,8 +7198,51 @@ gtk_notebook_pages_list_model_init (GListModelInterface *iface) iface->get_n_items = gtk_notebook_pages_get_n_items; iface->get_item = gtk_notebook_pages_get_item; } + +static gboolean +gtk_notebook_pages_is_selected (GtkSelectionModel *model, + guint position) +{ + GtkNotebookPages *pages = GTK_NOTEBOOK_PAGES (model); + GtkNotebookPage *page; + + page = g_list_nth_data (pages->notebook->children, position); + if (page == NULL) + return FALSE; + + return page == pages->notebook->cur_page; +} + +static gboolean +gtk_notebook_pages_select_item (GtkSelectionModel *model, + guint position, + gboolean exclusive) +{ + GtkNotebookPages *pages = GTK_NOTEBOOK_PAGES (model); + GtkNotebookPage *page; + + page = g_list_nth_data (pages->notebook->children, position); + if (page == NULL) + return FALSE; + + if (page == pages->notebook->cur_page) + return FALSE; + + gtk_notebook_switch_page (pages->notebook, page); + + return TRUE; +} + +static void +gtk_notebook_pages_selection_model_init (GtkSelectionModelInterface *iface) +{ + iface->is_selected = gtk_notebook_pages_is_selected; + iface->select_item = gtk_notebook_pages_select_item; +} + G_DEFINE_TYPE_WITH_CODE (GtkNotebookPages, gtk_notebook_pages, G_TYPE_OBJECT, - G_IMPLEMENT_INTERFACE (G_TYPE_LIST_MODEL, gtk_notebook_pages_list_model_init)) + G_IMPLEMENT_INTERFACE (G_TYPE_LIST_MODEL, gtk_notebook_pages_list_model_init) + G_IMPLEMENT_INTERFACE (GTK_TYPE_SELECTION_MODEL, gtk_notebook_pages_selection_model_init)) static void gtk_notebook_pages_init (GtkNotebookPages *pages) diff --git a/tests/animated-revealing.c b/tests/animated-revealing.c index 424c04ad8b..7d9f158625 100644 --- a/tests/animated-revealing.c +++ b/tests/animated-revealing.c @@ -66,7 +66,7 @@ main(int argc, char **argv) gtk_revealer_set_child (GTK_REVEALER (revealer), grid); cssprovider = gtk_css_provider_new (); - gtk_css_provider_load_from_data (cssprovider, "* { padding: 2px; text-shadow: 5px 5px 2px grey; }", -1); + gtk_css_provider_load_from_string (cssprovider, "* { padding: 2px; text-shadow: 5px 5px 2px grey; }"); gtk_style_context_add_provider_for_display (gdk_display_get_default (), GTK_STYLE_PROVIDER (cssprovider), GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); diff --git a/tests/testadjustsize.c b/tests/testadjustsize.c index 27101ed490..ca2eb2f049 100644 --- a/tests/testadjustsize.c +++ b/tests/testadjustsize.c @@ -360,15 +360,15 @@ main (int argc, char *argv[]) gtk_init (); provider = gtk_css_provider_new (); - gtk_css_provider_load_from_data (provider, + gtk_css_provider_load_from_string (provider, ".black-bg { background-color: black; }" ".red-bg { background-color: red; }" - ".blue-bg { background-color: blue; }", -1); + ".blue-bg { background-color: blue; }"); gtk_style_context_add_provider_for_display (gdk_display_get_default (), GTK_STYLE_PROVIDER (provider), GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); g_object_unref (provider); - + if (g_getenv ("RTL")) gtk_widget_set_default_direction (GTK_TEXT_DIR_RTL); diff --git a/tests/testborderdrawing.c b/tests/testborderdrawing.c index 661d2481c9..e9d5c26b37 100644 --- a/tests/testborderdrawing.c +++ b/tests/testborderdrawing.c @@ -101,7 +101,7 @@ main (int argc, char **argv) gtk_init (); provider = gtk_css_provider_new (); - gtk_css_provider_load_from_data (provider, css, -1); + gtk_css_provider_load_from_string (provider, css); gtk_style_context_add_provider_for_display (gdk_display_get_default (), GTK_STYLE_PROVIDER (provider), GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); diff --git a/tests/testdndresize.c b/tests/testdndresize.c index 5c78bf5606..d11b707787 100644 --- a/tests/testdndresize.c +++ b/tests/testdndresize.c @@ -161,12 +161,11 @@ main (int argc, char *argv[]) gtk_init (); provider = gtk_css_provider_new (); - gtk_css_provider_load_from_data (provider, - ".dnd {" - "background-color: red;" - "border-top: 10px solid rebeccapurple;" - "}", - -1); + gtk_css_provider_load_from_string (provider, + ".dnd {" + "background-color: red;" + "border-top: 10px solid rebeccapurple;" + "}"); gtk_style_context_add_provider_for_display (gdk_display_get_default (), GTK_STYLE_PROVIDER(provider), GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); diff --git a/tests/testentryicons.c b/tests/testentryicons.c index 25d640f758..7c6d448a98 100644 --- a/tests/testentryicons.c +++ b/tests/testentryicons.c @@ -159,18 +159,18 @@ main (int argc, char **argv) gtk_grid_attach (GTK_GRID (grid), entry, 1, 1, 1, 1); gtk_editable_set_text (GTK_EDITABLE (entry), "ā€¸Right-to-left"); gtk_widget_set_direction (entry, GTK_TEXT_DIR_RTL); - + gtk_entry_set_icon_from_icon_name (GTK_ENTRY (entry), GTK_ENTRY_ICON_PRIMARY, "document-save-symbolic"); gtk_entry_set_icon_tooltip_text (GTK_ENTRY (entry), GTK_ENTRY_ICON_PRIMARY, "Save a file"); - + content = gdk_content_provider_new_typed (G_TYPE_STRING, "Amazing"); gtk_entry_set_icon_drag_source (GTK_ENTRY (entry), GTK_ENTRY_ICON_PRIMARY, - content, GDK_ACTION_COPY); + content, GDK_ACTION_COPY); g_object_unref (content); /* @@ -298,7 +298,7 @@ main (int argc, char **argv) GtkCssProvider *provider; provider = gtk_css_provider_new (); - gtk_css_provider_load_from_data (provider, cssdata, -1); + gtk_css_provider_load_from_string (provider, cssdata); gtk_style_context_add_provider_for_display (gdk_display_get_default (), GTK_STYLE_PROVIDER (provider), 800); gtk_window_present (GTK_WINDOW (window)); diff --git a/tests/testhover.c b/tests/testhover.c index a139919221..46b85f63cc 100644 --- a/tests/testhover.c +++ b/tests/testhover.c @@ -265,7 +265,7 @@ main (int argc, char *argv[]) gtk_init (); provider = gtk_css_provider_new (); - gtk_css_provider_load_from_data (provider, + gtk_css_provider_load_from_string (provider, ":hover {" " box-shadow: inset 0px 0px 0px 1px red;" " }" @@ -274,8 +274,7 @@ main (int argc, char *argv[]) " }" " window :not(.title):hover * {" " background: goldenrod;" - " }", - -1); + " }"); gtk_style_context_add_provider_for_display (gdk_display_get_default (), GTK_STYLE_PROVIDER (provider), 800); g_object_unref (provider); diff --git a/tests/testlevelbar.c b/tests/testlevelbar.c index e3ace27e3d..27058cedb5 100644 --- a/tests/testlevelbar.c +++ b/tests/testlevelbar.c @@ -34,7 +34,7 @@ add_custom_css (void) "}"; provider = gtk_css_provider_new (); - gtk_css_provider_load_from_data (provider, data, -1); + gtk_css_provider_load_from_string (provider, data); gtk_style_context_add_provider_for_display (gdk_display_get_default (), GTK_STYLE_PROVIDER (provider), GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); diff --git a/tests/testoutsetshadowdrawing.c b/tests/testoutsetshadowdrawing.c index ad79a9a25f..a52d715598 100644 --- a/tests/testoutsetshadowdrawing.c +++ b/tests/testoutsetshadowdrawing.c @@ -99,7 +99,7 @@ main (int argc, char **argv) gtk_init (); provider = gtk_css_provider_new (); - gtk_css_provider_load_from_data (provider, css, -1); + gtk_css_provider_load_from_string (provider, css); gtk_style_context_add_provider_for_display (gdk_display_get_default (), GTK_STYLE_PROVIDER (provider), GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); diff --git a/tests/testoverlaystyleclass.c b/tests/testoverlaystyleclass.c index 747783972a..1c4e40ff43 100644 --- a/tests/testoverlaystyleclass.c +++ b/tests/testoverlaystyleclass.c @@ -22,7 +22,7 @@ overlay_get_child_position (GtkOverlay *overlay, return TRUE; } -int +int main (int argc, char *argv[]) { GtkWidget *win, *overlay, *grid, *main_child, *child, *label, *sw; @@ -32,13 +32,12 @@ main (int argc, char *argv[]) gtk_init (); provider = gtk_css_provider_new (); - gtk_css_provider_load_from_data (provider, - "label { border: 3px solid black; border-radius: 5px; padding: 2px; }" - ".top { border-top-style: none; border-top-right-radius: 0px; border-top-left-radius: 0px; }" - ".bottom { border-bottom-style: none; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; }" - ".left { border-left-style: none; border-top-left-radius: 0px; border-bottom-left-radius: 0px; }" - ".right { border-right-style: none; border-top-right-radius: 0px; border-bottom-right-radius: 0px; }", - -1); + gtk_css_provider_load_from_string (provider, + "label { border: 3px solid black; border-radius: 5px; padding: 2px; }" + ".top { border-top-style: none; border-top-right-radius: 0px; border-top-left-radius: 0px; }" + ".bottom { border-bottom-style: none; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; }" + ".left { border-left-style: none; border-top-left-radius: 0px; border-bottom-left-radius: 0px; }" + ".right { border-right-style: none; border-top-right-radius: 0px; border-bottom-right-radius: 0px; }"); gtk_style_context_add_provider_for_display (gdk_display_get_default (), GTK_STYLE_PROVIDER (provider), GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); diff --git a/tests/testpopup.c b/tests/testpopup.c index 265ba10e9b..ebf467ec16 100644 --- a/tests/testpopup.c +++ b/tests/testpopup.c @@ -59,7 +59,7 @@ main (int argc, char *argv[]) gtk_init (); provider = gtk_css_provider_new (); - gtk_css_provider_load_from_data (provider, css, -1); + gtk_css_provider_load_from_string (provider, css); gtk_style_context_add_provider_for_display (gdk_display_get_default (), GTK_STYLE_PROVIDER (provider), |