Matthias Clasen
4c150d8eb5
The big versioning cleanup
...
Remove all the old 2.x and 3.x version annotations.
GTK+ 4 is a new start, and from the perspective of a
GTK+ 4 developer all these APIs have been around since
the beginning.
2018-02-06 01:16:32 -05:00
Emmanuele Bassi
888dfe499d
Drop the Big GDK Lock
...
GDK has a lock to mark critical sections inside the backends.
Additionally, code that would re-enter into the GTK main loop was
supposed to hold the lock.
Back in the Good Old Days™ this was guaranteed to kind of work only on
the X11 backend, and would cause a neat explosion on any other GDK
backend.
During GTK+ 3.x we deprecated the API to enter and leave the critical
sections, and now we can remove all the internal uses of the lock, since
external API that uses GTK+ 4.x won't be able to hold the GDK lock.
https://bugzilla.gnome.org/show_bug.cgi?id=793124
2018-02-03 12:07:10 +01:00
Emmanuele Bassi
c655759cef
Replace gdk_threads_add_timeout* with g_timeout_add()
...
The main GDK thread lock is not portable and deprecated.
The only reason why gdk_threads_add_timeout() and
gdk_threads_add_timeout_full() exist is to allow invoking a callback
with the GDK lock held, in case 3rd party libraries still use the
deprecated gdk_threads_enter()/gdk_threads_leave() API.
Since we're removing the GDK lock, and we're releasing a new major API,
such code cannot exist any more; this means we can use the GLib API for
installing timeout callbacks.
https://bugzilla.gnome.org/show_bug.cgi?id=793124
2018-02-03 12:06:58 +01:00
Matthias Clasen
bd1a9c1afe
recent manager: Drop an unused field
2017-11-30 07:03:20 -05:00
Matthias Clasen
a8531605db
Some more interning
...
This avoids more strdups at startup.
2017-11-18 08:18:11 -05:00
Matthias Clasen
6c7d9c6445
recent manager: Remove dead code
...
These functions are no longer used.
2017-10-23 08:07:08 +02:00
Matthias Clasen
8b84df422b
Drop gtk_recent_info_get_icon
...
We are moving away from pixbuf-based apis.
Use gtk_recent_info_get_gicon instead.
2017-10-23 06:21:59 +02:00
Matthias Clasen
6c57432e79
recent manager: always return a GIcon
...
Make gtk_recent_info_get_gicon return a useful GIcon in
all cases.
2017-10-22 22:22:55 +02:00
Benjamin Otte
43c212ac28
build: Enable -Wswitch-enum and -Wswitch-default
...
This patch makes that work using 1 of 2 options:
1. Add all missing enums to the switch statement
or
2. Cast the switch argument to a uint to avoid having to do that (mostly
for GdkEventType).
I even found a bug while doing that: clearing a GtkImage with a surface
did not notify thae surface property.
The reason for enabling this flag even though it is tedious at times is
that it is very useful when adding values to an enum, because it makes
GTK immediately warn about all the switch statements where this enum is
relevant.
And I expect changes to enums to be frequent during the GTK4 development
cycle.
2017-10-06 21:23:39 +02:00
Matthias Clasen
147e0512c5
Avoid more compiler warnings
2017-03-23 16:15:26 +00:00
Timm Bäder
6bbb9a1173
GtkRecentManager: Remove superfluous local variable
2017-03-19 15:44:15 +01:00
TingPing
47f4e44aec
Improve GContentType usage
...
Convert to content type where needed.
Should fix various issues on Windows and OS X.
https://bugzilla.gnome.org/show_bug.cgi?id=734946
2017-03-08 23:10:49 -05:00
Piotr Drąg
a2da4ddceb
Use Unicode in translatable strings
...
See https://developer.gnome.org/hig/stable/typography.html
https://bugzilla.gnome.org/show_bug.cgi?id=772371
2016-12-19 15:08:10 -05:00
Lauri Kasanen
8b75268d1c
recent-manager: Fix a memory leak caused by "recent-manager: Add a limit to the list's size"
...
Signed-off-by: Lauri Kasanen <curaga@operamail.com>
https://bugzilla.gnome.org/show_bug.cgi?id=773587
2016-11-14 14:26:34 -05:00
Lauri Kasanen
0d364173f6
recent-manager: Add a limit to the list's size
...
This fixes a DOS where any app can cause all running gtk apps
to use arbitrary amounts of memory.
Originally reported against mate-panel, where running a big slideshow
in eye-of-mate caused increasing RAM usage in mate-panel.
v2: Hardcode the value
Signed-off-by: Lauri Kasanen <curaga@operamail.com>
https://bugzilla.gnome.org/show_bug.cgi?id=773587
2016-11-10 17:09:45 -05:00
Rico Tzschichholz
a3f1596069
Add some missing (nullable) annotations
...
https://bugzilla.gnome.org/show_bug.cgi?id=771826
2016-09-22 14:02:07 +02:00
Emmanuele Bassi
9610675faf
recent-manager: Always ensure that size is reset on creation
...
Whenever we create a new GBookmarkFile, we need to set the size to 0.
https://bugzilla.gnome.org/show_bug.cgi?id=620065
2016-04-10 18:41:23 +01:00
Emmanuele Bassi
cc08a965be
recent-manager: Fix the error domain and message on move_item()
...
Using NOT_FOUND when moving is wrong and unhelpful.
https://bugzilla.gnome.org/show_bug.cgi?id=620065
2016-04-10 18:39:33 +01:00
Emmanuele Bassi
bccef4e41a
recent-manager: Emit ::changed on file deletion
...
This will clear out the list of recently used files, and will allow GVFS
to handle this case.
https://bugzilla.gnome.org/show_bug.cgi?id=693077
2016-04-10 18:35:38 +01:00
Bastien Nocera
becc0d45b6
recent-manager: Fix "format not a string literal" error
...
https://bugzilla.gnome.org/show_bug.cgi?id=764585
2016-04-05 12:58:58 +02:00
Alberto Ruiz
496f0892fc
introspection: This patch fixes nullable return values fixes for the following symbols in gtk
...
gtk_accel_group_query
gtk_accel_group_from_accel_closure
gtk_accel_label_get_accel_widget
gtk_accessible_get_widget
gtk_actionable_get_action_name
gtk_app_chooser_get_app_info
gtk_app_chooser_button_get_heading
gtk_app_chooser_dialog_get_heading
gtk_application_get_window_by_id
gtk_assistant_get_nth_page
gtk_binding_set_find
gtk_builder_get_object
gtk_builder_lookup_callback_symbol
gtk_builder_get_application
gtk_button_get_image
gtk_cell_area_get_focus_from_sibling
gtk_cell_renderer_start_editing
gtk_cell_view_get_model
gtk_cell_view_get_displayed_row
gtk_clipboard_get_owner
gtk_container_get_focus_child
gtk_container_get_focus_vadjustment
gtk_container_get_focus_hadjustment
gtk_dialog_get_widget_for_response
gtk_drag_get_source_widget
gtk_drag_dest_get_target_list
gtk_drag_source_get_target_list
gtk_entry_completion_get_model
gtk_entry_completion_compute_prefix
gtk_expander_get_label_widget
gtk_file_chooser_get_filename
gtk_file_chooser_get_current_folder
gtk_file_chooser_get_uri
gtk_file_chooser_get_current_folder_uri
gtk_file_chooser_get_preview_widget
gtk_file_chooser_get_preview_file
gtk_file_chooser_get_preview_filename
gtk_file_chooser_get_preview_uri
gtk_file_chooser_get_extra_widget
gtk_file_chooser_get_filter
gtk_file_chooser_native_get_accept_label
gtk_file_chooser_native_get_cancel_label
gtk_file_filter_get_name
gtk_font_chooser_get_font_family
gtk_font_chooser_get_font_face
gtk_font_chooser_get_font
gtk_font_chooser_get_font_desc
gtk_font_chooser_get_font_map
gtk_frame_get_label
gtk_gesture_get_device
gtk_gesture_get_window
gtk_gl_area_get_error
gtk_header_bar_get_title
gtk_header_bar_get_subtitle
gtk_header_bar_get_custom_title
gtk_icon_info_get_filename
gtk_icon_view_get_path_at_pos
gtk_icon_view_get_model
gtk_image_get_pixbuf
gtk_image_get_animation
gtk_label_get_mnemonic_widget
gtk_label_get_attributes
gtk_check_version
gtk_menu_button_get_popup
gtk_menu_button_get_menu_model
gtk_menu_button_get_align_widget
gtk_menu_button_get_popover
gtk_menu_item_get_submenu
gtk_menu_item_get_accel_path
gtk_native_dialog_get_title
gtk_native_dialog_get_transient_for
gtk_notebook_get_nth_page
gtk_notebook_get_tab_label_text
gtk_notebook_get_menu_label
gtk_notebook_get_menu_label_text
gtk_notebook_get_group_name
gtk_notebook_get_action_widget
gtk_offscreen_window_get_surface
gtk_offscreen_window_get_pixbuf
gtk_paned_get_child1
gtk_paned_get_child2
gtk_places_sidebar_get_location
gtk_places_sidebar_get_nth_bookmark
gtk_plug_get_socket_window
gtk_popover_get_default_widget
gtk_progress_bar_get_text
gtk_recent_filter_get_name
gtk_recent_manager_lookup_item
gtk_settings_get_default
gtk_socket_get_plug_window
gtk_stack_sidebar_get_stack
gtk_stack_switcher_get_stack
gtk_style_context_get_section
gtk_style_context_get_parent
gtk_style_context_get_frame_clock
gtk_test_find_widget
gtk_text_buffer_get_mark
gtk_text_tag_table_lookup
gtk_text_view_get_tabs
gtk_text_view_toggle_cursor_visible
gtk_text_view_get_window
gtk_toolbar_get_nth_item
gtk_tool_button_get_label
gtk_tool_button_get_icon_name
gtk_tool_button_get_label_widget
gtk_tool_button_get_icon_widget
gtk_tool_palette_get_drop_item
gtk_tool_palette_get_drop_group
gtk_tree_model_filter_convert_child_path_to_path
gtk_tree_model_filter_convert_path_to_child_path
gtk_tree_model_sort_convert_child_path_to_path
gtk_tree_model_sort_convert_path_to_child_path
gtk_tree_view_get_column
gtk_tree_view_get_bin_window
gtk_tree_view_column_get_widget
gtk_tree_view_column_get_tree_view
gtk_widget_get_frame_clock
gtk_window_group_get_current_device_grab
GtkTextBufferSerializeFunc
2016-01-08 12:18:23 +00:00
Matthias Clasen
3c54fbd3ac
Use stupid quotes instead of dumb quotes
...
Following a similar change in GLib a while ago.
'bla' may by stupid, but it looks less dumb than `bla'.
2015-09-23 07:01:16 -04:00
Paolo Borelli
3fec677da0
cleanup: no need to set members to null when freeing the struct
2015-08-01 21:30:53 +02:00
Matthias Clasen
9f24b54786
Code cleanup
...
Use g_slist_free_full more consistently. This commit just converts
the obvious cases where g_slist_forall is directly followed by
g_slist_free.
2015-07-31 22:23:35 -04:00
Matthias Clasen
0a54ad1187
GtkRecentManager: Formatting fixes
2014-12-23 14:30:10 -05:00
Matthias Clasen
ea36b7bfb0
GtkRecentManager: Survive without a filename
...
We were asserting priv->filename != NULL in various places,
which leads to apps refusing to work when HOME is set to a
nonexisting or nonwritable value. Since it isn't hard, just
make GtkRecentManager survive without a filename. We won't
save or read any recently used files in this state, but
thats ok.
https://bugzilla.gnome.org/show_bug.cgi?id=739038
2014-12-22 08:24:13 -05:00
Matthias Clasen
4bc3f02d51
GtkRecentManager: Allow instantiating with gtk_init
...
This apparently used to work, and it doesn't do harm to allow it.
https://bugzilla.gnome.org/show_bug.cgi?id=705582
2014-12-21 23:14:02 -05:00
Matthias Clasen
9603754f7d
Fix warning grammar
2014-09-18 21:57:20 -04:00
William Jon McCann
469d333aa2
docs: use Returns: consistently
...
Instead of Return value:
2014-02-19 18:56:05 -05:00
Matthias Clasen
c779b42476
Docs: use // for comments in examples
...
Without sgml mode, we can't escape /* as /* anymore,
so just switch to // for comments in examples.
2014-02-14 23:34:22 -05:00
Matthias Clasen
7f6a964c47
Docs: Remove all entities and turn off sgml mode
...
With all element markup gone, it is time to turn off
sgml mode, and get rid of entities as well.
2014-02-09 17:58:07 -05:00
William Jon McCann
7a208fbbf3
docs: use proper apostrophe
...
https://wiki.gnome.org/Design/OS/Typography
2014-02-07 13:06:10 -05:00
William Jon McCann
2a45418b67
docs: use proper quotes
2014-02-05 15:08:42 -05:00
Matthias Clasen
245c385ae7
Docs: Don't use note elements
...
In most cases, the text itself makes the message clear enough.
2014-02-02 01:22:14 -05:00
William Jon McCann
e31ebda1d7
docs: don't escape entities in example code
...
https://bugzilla.gnome.org/show_bug.cgi?id=723119
2014-01-29 12:45:49 -05:00
William Jon McCann
4c8bd8e7cf
docs: Identify examples that are C code
...
https://bugzilla.gnome.org/show_bug.cgi?id=723119
2014-01-29 12:45:49 -05:00
William Jon McCann
22586ea7c2
docs: use #*-struct instead of <structname>
2014-01-27 19:59:55 -05:00
Bastien Nocera
438cd857c4
all: Add names to timeouts
...
Add names to every timeout we setup, so it's easier to track their
usage, and debug possible misbehaviour.
https://bugzilla.gnome.org/show_bug.cgi?id=710651
2013-10-23 13:31:18 +02:00
Matthias Clasen
2f1fa7cdc3
Drop some unnecessary includes
...
Drop includes of deprecated headers where they are
no longer needed.
2013-07-19 22:32:23 -04:00
Matthias Clasen
0aa57d26b5
Move wholly deprecated classes to gtk/deprecated/
...
We've recently a number of classes wholly. For these cases,
move the headers and sources to gtk/deprecated/ and adjust
Makefiles and includes accordingly.
Affected classes:
GtkAction
GtkActionGroup
GtkActivatable
GtkIconFactory
GtkImageMenuItem
GtkRadioAction
GtkRecentAction
GtkStock
GtkToggleAction
GtkUIManager
2013-07-19 21:39:47 -04:00
aakash
fc6e725d2f
gtkrecentmanager: Avoid confusion between the meta-data and the actual resource.
...
Fixed the documentation to clarify that gtk_recent_info_get_visited
and gtk_recent_info_get_modified are actually about the recent info
meta-data rather than the resource itself.
https://bugzilla.gnome.org/show_bug.cgi?id=703827
2013-07-09 06:51:45 -04:00
Emmanuele Bassi
0899ef7cc9
gtk: Use new macros for defining private data
...
https://bugzilla.gnome.org/show_bug.cgi?id=702996
2013-07-09 09:30:02 +01:00
Jasper St. Pierre
367364a8e1
Fix deprecations for GtkIconInfo
2013-02-15 19:48:56 -05:00
Cosimo Cecchi
382c5f63b0
recentmanager: follow gtk-recent-files-enabled GtkSetting
...
https://bugzilla.gnome.org/show_bug.cgi?id=693724
2013-02-13 12:06:43 -05:00
Emmanuele Bassi
3d7a2d7883
Ensure that XDG_DATA_HOME is created before using it
...
The recently-used.xbel storage for recently used files is located inside
the $XDG_DATA_HOME directory; there's no actual guarantee that the
directory has been created already, even though it's very highly
probable on any modern distribution. We should create it, along with its
intermediate parents, before constructing the file monitor that we use
to get change notifications.
https://bugzilla.gnome.org/show_bug.cgi?id=671817
https://bugzilla.gnome.org/show_bug.cgi?id=667808
2012-07-12 08:42:33 -04:00
Matthias Clasen
050cba6a31
Fix malformed doc comments
...
Most of these are forgotten :'s and similar details
which gtk-doc now warns about.
2012-04-12 21:12:16 -04:00
Javier Jardón
9d0febc9a6
Change FSF Address
2012-02-27 17:06:11 +00:00
Siegfried-Angel Gevatter Pujals
1ae4b1ecc1
g_content_type_guess expects a path, not an URI
2012-01-24 19:22:54 +01:00
Siegfried-Angel Gevatter Pujals
0d9d3025c6
Fix mem leak introduced with my previous commit
2012-01-24 19:05:29 +01:00
Siegfried-Angel Gevatter Pujals
080f8740f2
GtkRecentManager: guess mime-type from filename when file doesn't exist
2012-01-24 13:59:12 +01:00