| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
This reverts commit bca876de9b8cad4c912a2734561f2fe23b2d872a.
See https://gitlab.gnome.org/GNOME/pango/issues/413
|
|
|
|
|
| |
According to the comments from break-thai.c, use alternative approach
for break-thai.c .
|
|
|
|
| |
Use the shared brk to improve the performance of the break_thai function.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The call to th_brk_new() may return NULL, in case of allocation failure
of course, but also if the default dictionnary fails to load, which may
be an unlikely event, yet far from impossible (packaging may have
forgotten the file hence it may be absent, have been corrupted, or
whatever else).
In any case, although unlikely, it is not impossible, and should not
crash the whole program so we should check the return value and output a
warning if NULL.
Note that the call to th_brk_find_breaks() can still run even if brk is
NULL so we only check before freeing the data.
|
|
|
|
| |
I’m assuming the new API is thread-safe as claimed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
First bug is, we were passing as count to th_brk, the UTF-8
length instead of TIS length. Ouch! I'm not sure how this
was never caught...
The other one was, break-thai was possibly marking a position
is_line_break when break.c has already set it to is_char_break=FALSE.
This broke the invariant that if a position is line-break, then it
must be char-break as well. This, in turn was hitting assertions
in certain conditions. Hit it with this for example:
$ ./pango-view --text 'ส์" (S' --width 43 --font 156px
Note that in a correct world the Latin part of that string should
not reach break-thai.c at all, but that's not how pango-layout.c
breaks right now. See comment before pango_break() call in
pango-layout.c.
|
| |
|
| |
|
|
|
|
|
|
|
| |
Libthai is not threadsafe (thought it probably can easily be made to be).
As such, add mutex around th_brk() calls.
test-pangocairo-threads passes again.
|
|
This should complete the kill-modules effort. What is left is leftover
removal and unbreaking stuff.
Bug 733882 - Kill Pango modules, engines, and config files
|