1. 27 Feb, 2012 1 commit
  2. 24 Feb, 2012 3 commits
  3. 23 Feb, 2012 1 commit
    • Carlos Garnacho's avatar
      gdk: Keep track of the last slave device used · 5b014bfd
      Carlos Garnacho authored
      This last slave device (stored per master) is used to fill
      in the missing slave device in synthesized crossing events
      that are not directly caused by a device event (ie due to
      configure events or grabs).
      5b014bfd
  4. 19 Feb, 2012 3 commits
  5. 09 Feb, 2012 3 commits
    • Alexander Larsson's avatar
      Fix transparency handling with non-double-buffered drawing · 251cffb6
      Alexander Larsson authored
      Sometimes we need to read back the window content into our double
      buffer due to rendering a window with alpha when there is
      no implicit paint or it has been flushed due to non-db drawing
      before.
      
      However, in this case we can't use gdk_cairo_set_source_window as
      it might trigger an implicit paint flush as we detect what we
      think is a direct non-double buffered window draw operation, which
      will flush the implicit paint operation that we're just setting up.
      
      To fix this we use the raw gdk_window_ref_impl_surface operation
      to get the source surface.
      251cffb6
    • Alexander Larsson's avatar
      Fix non-double-buffered drawing · 5d9736fe
      Alexander Larsson authored
      There was a sign issue in a coordinate transform that made us
      flush the wrong region when flushing an implicit paint.
      The non-double buffered drawing would then be drawn over the
      right area, but then at the end of the implicit paint this
      would be overdrawn with the area we didn't properly remove
      from the implicit paint.
      
      Also, the translation from window coords to impl window
      coords is now done before removing any active double
      buffered paints, as these are also in impl window coords.
      5d9736fe
    • Alexander Larsson's avatar
      Make the default background for GdkWindows transparent · fed1cfb1
      Alexander Larsson authored
      With the changes in default CSS to make the default background transparent
      we ran into issues where intermediate GdkWindow (for instance the
      view_window in GtkViewport) where we didn't set an explicit background
      (because before they were always covered). So instead of showing throught
      the transparent windows were showing the default backgroind of the intermediate
      window (i.e. black).
      
      With this change we also needed to fix GtkViewport, as it was previously
      relying on the bin and view windows to cover widget->window so that the
      border was not visible if shadow_type was NONE.
      fed1cfb1
  6. 20 Jan, 2012 1 commit
  7. 05 Jan, 2012 1 commit
  8. 22 Dec, 2011 1 commit
  9. 19 Dec, 2011 1 commit
    • Xan Lopez's avatar
      gdkwindow: plug memory leak · 2d70d8fa
      Xan Lopez authored
      ==23282== 64 bytes in 2 blocks are definitely lost in loss record 8,069 of 13,389
      ==23282==    at 0x4A074CD: malloc (vg_replace_malloc.c:236)
      ==23282==    by 0x39A1C3E2EA: cairo_region_create (cairo-region.c:196)
      ==23282==    by 0x6D9AF3D: recompute_visible_regions_internal (gdkwindow.c:964)
      ==23282==    by 0x6D9B4B8: recompute_visible_regions (gdkwindow.c:1126)
      ==23282==    by 0x6DA3450: gdk_window_hide (gdkwindow.c:5689)
      ==23282==    by 0x6D9CED9: _gdk_window_destroy_hierarchy (gdkwindow.c:2042)
      ==23282==    by 0x6D9D040: gdk_window_destroy (gdkwindow.c:2109)
      ==23282==    by 0x655B5E4: gtk_entry_unrealize (gtkentry.c:3012)
      ==23282==    by 0x7068BF3: g_cclosure_marshal_VOID__VOID (gmarshal.c:85)
      ==23282==    by 0x706710B: g_type_class_meta_marshal (gclosure.c:885)
      ==23282==    by 0x7066DF9: g_closure_invoke (gclosure.c:774)
      ==23282==    by 0x7080585: signal_emit_unlocked_R (gsignal.c:3340)
      ==23282==    by 0x707F619: g_signal_emit_valist (gsignal.c:3033)
      ==23282==    by 0x707FB71: g_signal_emit (gsignal.c:3090)
      ==23282==    by 0x679E243: gtk_widget_unrealize (gtkwidget.c:4458)
      ==23282==    by 0x64E83C7: gtk_bin_forall (gtkbin.c:172)
      ==23282==    by 0x6548BBD: gtk_container_forall (gtkcontainer.c:2014)
      ==23282==    by 0x67A966D: gtk_widget_real_unrealize (gtkwidget.c:10253)
      ==23282==    by 0x672D002: gtk_tool_item_unrealize (gtktoolitem.c:474)
      ==23282==    by 0x7068BF3: g_cclosure_marshal_VOID__VOID (gmarshal.c:85)
      
      https://bugzilla.gnome.org/show_bug.cgi?id=666552
      2d70d8fa
  10. 07 Dec, 2011 1 commit
    • Cosimo Cecchi's avatar
      window: copy back window surface data when the implicit paint is flushed · 8f4f7faa
      Cosimo Cecchi authored
      When an implicit paint is flushed during expose, e.g. because a
      non-double buffered widget is painting, make sure to copy the existing
      data from the window surface we rendered before flushing back to the
      paint surface, instead of using an empty base.
      Code was already handling that (and said so in the comment), but only
      when no implicit paint was used at all, and not in the case when it's
      flushed mid-expose.
      8f4f7faa
  11. 06 Dec, 2011 2 commits
  12. 05 Dec, 2011 5 commits
  13. 01 Dec, 2011 8 commits
  14. 10 Nov, 2011 1 commit
  15. 08 Nov, 2011 1 commit
  16. 05 Nov, 2011 1 commit
  17. 02 Nov, 2011 1 commit
    • Benjamin Otte's avatar
      gdk: Move a bunch of deprecated code to a new file · b120cb04
      Benjamin Otte authored
      The new file defines GDK_DISABLE_DEPRECATION_WARNINGS so it can happily
      use deprecated APIs.
      
      This commit moves those functions there that use deprecated functions
      and currently cause warnings.
      
      With this commit, GDK compiles without deprecation warnings.
      b120cb04
  18. 01 Oct, 2011 1 commit
  19. 29 Sep, 2011 1 commit
    • Cosimo Cecchi's avatar
      GdkWindow: fix conditional jump depends on uninitialized value error · 036c193f
      Cosimo Cecchi authored
      Those if() blocks don't have any reason being there, as x and y are not
      pointers. If the window is destroyed, just set the out values to zero
      and return.
      
      As seen in valgrind:
      
      ==3306== Conditional jump or move depends on uninitialised value(s)
      ==3306==    at 0x624C74F: gdk_window_get_root_coords (gdkwindow.c:6933)
      ==3306==    by 0x5E193C3: gtk_tooltip_show_tooltip (gtktooltip.c:1160)
      ==3306==    by 0x5E19C05: tooltip_popup_timeout (gtktooltip.c:1282)
      ==3306==    by 0x623B102: gdk_threads_dispatch (gdk.c:754)
      ==3306==    by 0x8592F3A: g_timeout_dispatch (gmain.c:3907)
      ==3306==    by 0x859174C: g_main_context_dispatch (gmain.c:2441)
      ==3306==    by 0x8591F47: g_main_context_iterate (gmain.c:3089)
      ==3306==    by 0x8592494: g_main_loop_run (gmain.c:3297)
      ==3306==    by 0x5D2E501: gtk_main (gtkmain.c:1362)
      ==3306==    by 0x5C5652F: gtk_application_run_mainloop
      (gtkapplication.c:115)
      ==3306==    by 0x7C47C9D: g_application_run (gapplication.c:1323)
      ==3306==    by 0x447B5F: main (nautilus-main.c:102)
      ==3306==  Uninitialised value was created by a stack allocation
      ==3306==    at 0x624D48A: gdk_window_get_device_position
      (gdkwindow.c:4952)
      036c193f
  20. 14 Aug, 2011 1 commit
  21. 17 Jul, 2011 1 commit
  22. 05 Jul, 2011 1 commit