summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* wip: pixelcache: ensure we use CGLayer on quartzwip/chergert/quartz-frame-clockChristian Hergert2015-09-301-0/+18
| | | | | | | | | | This is a special case for quartz where we want to ensure that a CGLayer is used for the pixel cache. create_similar_surface() is not enough since only a few CGLayer backed surfaces seem possible before we can’t create them anymore. This requires cairo-quartz patches for cairo_quartz_surface_create_cg_layer()
* wip: quartz: use colorspace from primary displayChristian Hergert2015-09-301-5/+9
| | | | | | | | | | Using the default RGB colorspace seems to go through colorspace conversion on tested macbook retina devices. Instead, default to the colorspace of the main display so that it does not incur the conversion cost on every frame. This probably requires the equivalent patch to cairo, I have not tested without it yet.
* quartz: release linked list as we process itChristian Hergert2015-09-301-4/+1
| | | | | Rather than performing the list iteration and the list free as separate steps, free the list link while iterating.
* quartz: drop beam sync penalty codeChristian Hergert2015-09-301-46/+1
| | | | | | Now that we have a frame clock in place, we should be able to drop the beam-sync penalty prevention code as we should be aligning our draws with CVDisplayLink.
* quartz: squash warning with explicit castChristian Hergert2015-09-301-1/+1
|
* quartz: fix unused variable warningsChristian Hergert2015-09-302-7/+0
|
* quartz: squash compiler warning about enumsChristian Hergert2015-09-301-2/+2
| | | | We don’t care about the other enums, fine to squash the warning.
* quartz: add CVDisplayLink based frame clockChristian Hergert2015-09-308-1/+465
| | | | | | | | | | | | | | | This uses CVDisplayLink to drive the GdkFrameClock. A GdkWindow can register a frame callback to thaw their frame clock as necessary based on the next notification from CVDisplayLink. CVDisplayLink notifies us on a high-priority thread. We use the same NSEventas gdkeventloop-quartz.c to wakeup the main loop. This is done so that we don’t pathologically wake up the select thread to then continue notifying the main loop. We use an embedded GList node in the GdkWindowImplQuartz so that we can avoid allocating any lists or arrays for pending frame callbacks. Compare this to the same design in GdkWindow for children.
* header bar: Show a non-pixellated app iconMatthias Clasen2015-09-301-3/+10
| | | | | | Load a hi-dpi icon when we are running with scale=2. https://bugzilla.gnome.org/show_bug.cgi?id=751787
* gdkgears: Use a headerbarMatthias Clasen2015-09-291-1/+1
| | | | | This is a testcase for https://bugzilla.gnome.org/show_bug.cgi?id=755675
* GtkPopover: Make transitions fasterTimm Bäder2015-09-291-1/+1
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=755528
* header bar: Don't leave a dangling pointerMatthias Clasen2015-09-291-0/+2
| | | | | This might be the cause for some crashes, like https://bugzilla.redhat.com/show_bug.cgi?id=1264558
* Use direct GValue access in our marshallersMatthias Clasen2015-09-291-0/+1
| | | | | These are used for every signal emission, so we should make them as fast as we can.
* rounded rect: cache arcsMatthias Clasen2015-09-291-2/+76
| | | | | | We are only ever drawing axis-aligned quarter arcs here. By caching these paths, sincos drops from the profiles for drawing-heavy workloads.
* container: Avoid duplicate calls to should_propagateMatthias Clasen2015-09-291-40/+49
| | | | | | We were calling gtk_container_should_propagate_draw twice for each child. We can avoid this by splitting out an gtk_container_propagate_draw_internal function.
* Drop some redundant cairo_save callsMatthias Clasen2015-09-291-4/+2
| | | | | | | Almost all callers of _gtk_widget_draw already did their own cairo_save/restore, so drop the save/restore calls inside _gtk_widget_draw and instead fix the last caller, gtk_widget_draw, to do the same.
* Trivial: Move a cairo_save callMatthias Clasen2015-09-291-2/+1
| | | | Move the cairo_save call to where it is needed.
* GtkPopover: Remove apply_shape fieldTimm Bäder2015-09-291-6/+2
| | | | | This was introduced in 2d9c09d6 alongside a private setter, but that setter has been removed and the field is always TRUE.
* GtkPopover: Don't resize during the transitionTimm Bäder2015-09-291-1/+1
| | | | | | | | | Call gtk_popover_update_position instead which will pick up the new transition_diff value and pass it on to _gtk_window_set_popover_position, which in turn will move the window correctly. https://bugzilla.gnome.org/show_bug.cgi?id=755435
* GtkWindow: Don't needlessly resize popoversTimm Bäder2015-09-291-8/+21
| | | | | | | | | | Check whether the given popover even changed size in _gtk_window_set_popover_position. If not, just move its GdkWindow without calling gtk_widget_queue_resize. Using popover_get_rect here is still relatively costly, but popover_size_allocate would be doing that anyway. https://bugzilla.gnome.org/show_bug.cgi?id=755435
* GtkPopover: Remove _get_pointed_to_coordsTimm Bäder2015-09-291-17/+4
| | | | | | It's only used once and removing it only adds a single line there. https://bugzilla.gnome.org/show_bug.cgi?id=755435
* Updated Italian translationMilo Casagrande2015-09-281-4/+4
|
* Updated Italian translationMilo Casagrande2015-09-281-215/+213
|
* Return a value from ::command-line handlerMatthias Clasen2015-09-281-2/+4
| | | | | | The signal expects a return value, so give it one. https://bugzilla.gnome.org/show_bug.cgi?id=755692
* css style: Accumulate changes in placeMatthias Clasen2015-09-283-13/+13
| | | | | This avoids allocating a temporary bitmask, and lets us avoid some value comparisons altogether.
* Add a few more inlined gettersMatthias Clasen2015-09-284-114/+122
|
* Remove overhead in gdk_window_get_user_dataMatthias Clasen2015-09-281-2/+0
| | | | | This function is called very frequently during in GTK+'s drawing paths, and thus should not carry unexpected costs.
* Updated Vietnamese translationTrần Ngọc Quân2015-09-282-2787/+3406
| | | | Signed-off-by: Trần Ngọc Quân <vnwildman@gmail.com>
* Updated Italian translationMilo Casagrande2015-09-271-542/+962
|
* Updated Italian translationMilo Casagrande2015-09-271-2172/+2589
|
* Updated Russian translationStas Solovey2015-09-271-204/+138
|
* Updated Serbian Latin translationМилош Поповић2015-09-271-2202/+2608
|
* Updated Serbian translationМарко Костић2015-09-271-2202/+2609
|
* bitmask: Use gsize, not size_tBenjamin Otte2015-09-271-4/+4
| | | | We want to use the same type everywhere to avoid surprises.
* bitmask: Don't hardcode 64bit sizeDmitry Shachnev2015-09-271-1/+1
| | | | | | | This looks like an oversight from "quickly testing a potential fix" and then forgetting to make a production-ready when it works. https://bugzilla.gnome.org/show_bug.cgi?id=755691
* Updated Hebrew translationYosef Or Boczko2015-09-271-257/+257
|
* Avoid copying lists during drawMatthias Clasen2015-09-271-55/+66
| | | | | | | | We can use gdk_window_peek_children here, instead of copying the list. Note that we preserve the bottom-to-top ordering by iterating the list from the end. gdk_window_get_children_with_user_data was doing a list reversal while filtering the list.
* Refactor gtk_widget_add_events_internal_listMatthias Clasen2015-09-271-22/+23
| | | | Avoid copying the child window lists. It is not necessary.
* Refactor gtk_widget_set_device_enabled_internalMatthias Clasen2015-09-271-59/+43
| | | | | | Instead of constructing a single list of all windows associated to a widget, just iterate the children lists recursively, avoiding allocations.
* Fix Uyghur translation of default:mmPiotr Drąg2015-09-261-1/+1
|
* Fix Tajik translation of default:mmPiotr Drąg2015-09-261-1/+1
|
* Fix Khmer translation of default:mmPiotr Drąg2015-09-261-1/+1
|
* Fix Khmer translation of default:LTRPiotr Drąg2015-09-261-1/+1
|
* Fix Kikongo translation of default:mmPiotr Drąg2015-09-261-1/+1
|
* Fix Kikongo translation of default:LTRPiotr Drąg2015-09-261-1/+1
|
* Fix Bosnian translation of default:mmPiotr Drąg2015-09-261-1/+1
|
* gtkbookmarksmanager: don't allow non valid utf8 in bookmarksCarlos Soriano2015-09-251-1/+1
| | | | | | | In case some client send to us a non valid utf8 string, don't screw up the bookmarks file and just return. https://bugzilla.gnome.org/show_bug.cgi?id=755215
* gtkplacessidebar: avoid to use a freed stringCarlos Soriano2015-09-251-2/+3
| | | | | | | | | | | | | | The string we were using is the representation of the internal text in the popover entry. However that can be freed before setting the bookmark label, if i.e. the row is destroyed and therefore the popover as well. To avoid that, duplicate the label in a local variable. One of the consequences is that for those people using development version we migth screwed its bookmarks file, since the bookmark manager wrote garbage from the already freed label. https://bugzilla.gnome.org/show_bug.cgi?id=755215
* build/Makefile-newvs.am: Update Comments for UsageChun-wei Fan2015-09-251-2/+6
| | | | | | | | Update the notes that this is also used for Visual Studio 2015 support, and correct the MSVC_VER_LONG for MSVC 2015, which is 14, not 2015. Also add a note that this can be used for other projects that have Visual Studio build support.
* Build: Make Makefile.msvcproj A Bit More GenericChun-wei Fan2015-09-251-7/+3
| | | | | Handle also the situation where $(srcdir) == $(top_srcdir), so that this can also be used in cases like librsvg and gobject-introspection.