Magellan Linux

Annotation of /trunk/mozilla-thunderbird/patches/mozilla-firefox-2.0.0.5-pango-cursor.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 279 - (hide annotations) (download)
Mon Jul 23 20:25:11 2007 UTC (16 years, 10 months ago) by niro
File size: 1835 byte(s)
mozilla-thunderbird-2.0.0.5-r1

1 niro 279 # Upstream bug #335810
2    
3     Index: mozilla/gfx/src/gtk/nsFontMetricsPango.cpp
4     ===================================================================
5     RCS file: /cvsroot/mozilla/gfx/src/gtk/nsFontMetricsPango.cpp,v
6     retrieving revision 1.24
7     diff -d -u -p -6 -r1.24 nsFontMetricsPango.cpp
8     --- mozilla/gfx/src/gtk/nsFontMetricsPango.cpp 25 Aug 2006 01:02:34 -0000 1.24
9     +++ mozilla/gfx/src/gtk/nsFontMetricsPango.cpp 6 Sep 2006 07:01:49 -0000
10     @@ -948,13 +948,12 @@ nsFontMetricsPango::GetClusterInfo(const
11     PRInt32
12     nsFontMetricsPango::GetPosition(const PRUnichar *aText, PRUint32 aLength,
13     nsPoint aPt)
14     {
15     int trailing = 0;
16     int inx = 0;
17     - gboolean found = FALSE;
18     const gchar *curChar;
19     PRInt32 retval = 0;
20    
21     float f = mDeviceContext->AppUnitsToDevUnits();
22    
23     PangoLayout *layout = pango_layout_new(mPangoContext);
24     @@ -974,28 +973,18 @@ nsFontMetricsPango::GetPosition(const PR
25     }
26    
27     // Set up the pango layout
28     pango_layout_set_text(layout, text, strlen(text));
29     FixupSpaceWidths(layout, text);
30    
31     - found = pango_layout_xy_to_index(layout, localX, localY,
32     - &inx, &trailing);
33     + pango_layout_xy_to_index(layout, localX, localY,
34     + &inx, &trailing);
35    
36     // Convert the index back to the utf-16 index
37     curChar = text;
38    
39     - // Jump to the end if it's not found.
40     - if (!found) {
41     - if (inx == 0)
42     - retval = 0;
43     - else if (trailing)
44     - retval = aLength;
45     -
46     - goto loser;
47     - }
48     -
49     for (PRUint32 curOffset=0; curOffset < aLength;
50     curOffset++, curChar = g_utf8_find_next_char(curChar, NULL)) {
51    
52     // Check for a match before checking for a surrogate pair
53     if (curChar - text == inx) {
54     retval = curOffset;