1. 30 Oct, 2018 1 commit
    • Carlos Garnacho's avatar
      imwayland: Plug leaks · 336f3827
      Carlos Garnacho authored
      The various strings (pending/current preedit, surrounding, and commit
      buffer) are being leaked in the case of GtkIMContext destruction.
      336f3827
  2. 08 Oct, 2018 1 commit
    • Chun-wei Fan's avatar
      gtkimcontextime.c: Fix Korean input · 1ece5562
      Chun-wei Fan authored
      Commit c255ba68 inadvertently introduced a regression that broke Korean
      text input because the changes there resulted that only the last input
      string that we have from ImmGetCompositionStringW() for each time the
      commit signal is emitted is kept, and also as a result the final Korean
      character that is input by hitting space is also lost as a result, as we
      didn't check for whether we are done with preediting.
      
      Fix these issues by doing the following when we receive the
      WM_IME_COMPOSITION message with GCS_RESULTSTR from Windows:
      -Do not emit the commit signal during WM_IME_ENDCOMPOSITION, and...
      -Emit the commit signal anyways, as we did before, c255ba68, however...
      -We still save up the string to commit, because we need to re-compute
       the cursor position when we do ->get_preedit_string(), which needs to
       take the GCS_RESULTSTR string we get from WM_IME_COMPOSITION into
       account as well, so that we avoid getting the Pango criticals that
       occur during Chinese (and most likely Japanese) input as the cursor
       position is out-of-range.
      
      Fixes issue #1350.
      1ece5562
  3. 28 Sep, 2018 1 commit
  4. 14 Sep, 2018 1 commit
  5. 11 Sep, 2018 2 commits
  6. 07 Sep, 2018 1 commit
  7. 23 Aug, 2018 1 commit
  8. 30 Jul, 2018 1 commit
  9. 28 Jul, 2018 1 commit
    • Christian Hergert's avatar
      imwayland: fix potential leak of attr list · 508e0648
      Christian Hergert authored
      This fixes a potential leak of a PangoAttrList that is set when chaining
      up to the parent get_preedit_string(). We check to see if the attr list
      was created and reuse it instead of leaking the previous value.
      508e0648
  10. 20 Jul, 2018 1 commit
  11. 24 Jun, 2018 1 commit
    • Michael Catanzaro's avatar
      imwayland: Fix a small leak · efb934c0
      Michael Catanzaro authored
      If the parent get_preedit_string implementation returns a nonnull
      zero-length string, then we ignore it, which is almost fine. We have to
      free it, though.
      
      Fixes #1174
      efb934c0
  12. 22 Jun, 2018 1 commit
  13. 25 Apr, 2018 1 commit
  14. 04 Apr, 2018 1 commit
  15. 28 Mar, 2018 1 commit
  16. 20 Mar, 2018 1 commit
    • Carlos Garnacho's avatar
      imwayland: Avoid TOGGLE_INPUT_PANEL requests if there's no focus · 4f78abdd
      Carlos Garnacho authored
      Fixes two things: 1) As GTK+ can be coerced into using the wayland IM
      module despite the compositor not implementing the interface, all paths
      not checking for global state before sending requests are prone to
      crashes, this one fell hit this pitfall.
      
      And 2) ensures the tap gesture only triggers TOGGLE_INPUT_PANEL if the
      widget IM is focused. This is a possibility on eg. WebKit pages, where
      its IM is only focused as long as a form element in the page is focused.
      Tapping elsewhere shouldn't toggle the OSK.
      
      GNOME/gtk#114
      
      Closes: #114
      4f78abdd
  17. 17 Feb, 2018 1 commit
  18. 14 Feb, 2018 1 commit
    • Carlos Garnacho's avatar
      modules: Add wayland IM implementation · e8bffe0c
      Carlos Garnacho authored
      This IM context implementation goes through the gtk-text-input protocol,
      leaving up to the compositor the actual interaction with IM engines. If
      the protocol is not offered by the compositor, GTK+ will fallback to the
      IMs as specified through GtkSettings.
      e8bffe0c
  19. 17 Dec, 2017 1 commit
  20. 30 Oct, 2017 1 commit
    • Chun-wei Fan's avatar
      input/IME: Defer the emit of the "commit" signal · c255ba68
      Chun-wei Fan authored
      On Windows, when IME is used, each keystroke results in the
      WM_IME_COMPOSITION event being sent first.  This means that in our case
      when one decides on to accept the input that is in the preedit buffer,
      we first get from Windows the WM_IME_COMPOSITION event
      (where we emit the commit signal), followed by the WM_IME_ENDCOMPOSITION
      event (where we emit the pair of preedit-changed and preedit-end
      signals).
      
      Since commit f11f989f (GtkEntry: Remove recompute idle), we do the input
      recomputation directly, this will cause a pair of "Pango-WARNING:
      Assertion failed: (index >= 0 && index <= layout->length)" being shown,
      as gtkentry.c's priv->preedit_length and priv->preedit_cursor was unable
      to be reset to 0 in time as a result of the recomputation triggered by
      the commit being done before the reset of priv->preedit_length and
      priv->preedit_cursor (which are no longer valid as we essentially say
      that we are done with the preedit buffer).
      
      As we could only acquire the final string that was entered in this
      preedit session when we handle the WM_IME_COMPOSITION event, fix this by
      saving up the final string we acquire from Windows IME in UTF-8 when we
      handle the WM_IME_COMPOSITION event from Windows, and emit the commit
      signal with that string after we emit the preedit-changed and
      preedit-end signals when we handle the WM_IME_ENDCOMPOSITION event from
      Windows, which comes afterwards.
      
      Also fix the formatting of the code around the parts of the files that
      was changed.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=787142
      c255ba68
  21. 09 Oct, 2017 1 commit
  22. 08 Aug, 2017 1 commit
  23. 26 Mar, 2017 1 commit
  24. 10 Nov, 2016 1 commit
    • Carlos Garcia Campos's avatar
      printing: Do not truncate job names in GtkPrintOperation · 25522558
      Carlos Garcia Campos authored
      We are currently truncating job names to 255 bytes, because that's the
      maximum allowed length of job-name attribute in CUPS. This is a CUPS
      limitation that GtkPrintOperation shouldn't need to know, and it
      shouldn't affect other backends, that might have other limitations or
      even no limitation at all. This has another side effect, that what you
      set as GtkPrintOperation:job-name could be different to what you get if
      the property is truncated, this is not documented in
      gtk_print_operation_set_job_name(). So, I think the job name should be
      truncated by the CUPS backend, right before setting the job-name
      attribute.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=774097
      25522558
  25. 20 Oct, 2016 1 commit
  26. 16 May, 2016 1 commit
  27. 19 Apr, 2016 2 commits
  28. 16 Apr, 2016 1 commit
    • Bastien Nocera's avatar
      cups: Fix gettext usage · 97d27ca2
      Bastien Nocera authored
      The previous patches didn't mark some strings as to be translated, and
      tried to translate strings with a variable part already inside the
      string, which isn't going to work.
      
      Mark the strings as translatable with context, and also make sure to
      translate static strings when getting them out of their structure.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=764585
      97d27ca2
  29. 14 Apr, 2016 1 commit
  30. 13 Apr, 2016 1 commit
  31. 05 Apr, 2016 1 commit
  32. 16 Feb, 2016 1 commit
    • Matthias Clasen's avatar
      printing: Add message contexts · a64dd9cc
      Matthias Clasen authored
      Some of the translated strings in the cups printbackend are short
      and generic and might occur in other contexts. Give them disambiguating
      message contexts to avoid translation problems.
      a64dd9cc
  33. 08 Jan, 2016 1 commit
  34. 06 Jan, 2016 1 commit
  35. 04 Oct, 2015 1 commit
  36. 24 Sep, 2015 1 commit
  37. 11 Sep, 2015 1 commit
    • Michael Weghorn's avatar
      Improve printer distinction for option retrieval · 838391e4
      Michael Weghorn authored
      In order to retrieve the user options for a printer, the respective
      printer name is used.
      This fixes the comparison of printer names to avoid that the options of
      another printer are accidently read whose name starts with the same
      letters, but is longer (e.g. "myprinterlongername" instead of
      "myprinter").
      
      This fixes Bug 753628.
      838391e4
  38. 18 Aug, 2015 1 commit