summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2023-05-16 21:28:29 +0000
committerMatthias Clasen <mclasen@redhat.com>2023-05-16 21:28:29 +0000
commit0bbc6f89324e1caa0c8c1919f1b9d4133a59223b (patch)
treee944e538dd9f882f6de626ee24d7082f279875ab
parent0434ad3bd9cc2e06d3d7103810aa4b801bb4e1c6 (diff)
parent1ad4c04b2a17dd84b3929a6c70b2712c31dff99b (diff)
downloadgtk+-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.c4
-rw-r--r--gtk/gtklistitemmanager.c23
-rw-r--r--gtk/gtknotebook.c54
-rw-r--r--tests/animated-revealing.c2
-rw-r--r--tests/testadjustsize.c6
-rw-r--r--tests/testborderdrawing.c2
-rw-r--r--tests/testdndresize.c11
-rw-r--r--tests/testentryicons.c8
-rw-r--r--tests/testhover.c5
-rw-r--r--tests/testlevelbar.c2
-rw-r--r--tests/testoutsetshadowdrawing.c2
-rw-r--r--tests/testoverlaystyleclass.c15
-rw-r--r--tests/testpopup.c2
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, &section->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),