~ubuntu-branches/ubuntu/raring/openmotif/raring-proposed

« back to all changes in this revision

Viewing changes to lib/Xm/Text.c

  • Committer: Bazaar Package Importer
  • Author(s): Stefan Bauer
  • Date: 2010-06-29 09:42:21 UTC
  • mfrom: (1.1.3 upstream)
  • Revision ID: james.westby@ubuntu.com-20100629094221-yee9gtet2dngu6cv
Tags: 2.3.3-1
* New upstream release
* Drop patch for autoconf-bug as this was fixed upstream
* Applied patch to fix implicit pointer conversion (Closes: #587461)
 

Show diffs side-by-side

added added

removed removed

Lines of Context:
82
82
#include "XmI.h"
83
83
#include "XmStringI.h"
84
84
 
 
85
#define FIX_1367
85
86
/* Resolution independence conversion functions */
86
87
 
87
88
#define MESSAGE2        _XmMMsgText_0000
1742
1743
    if (tw->text.table_index > tw->text.total_lines)
1743
1744
      tw->text.table_index = tw->text.total_lines;
1744
1745
    
 
1746
#ifdef FIX_1367
 
1747
    if (tw->text.on_or_off == on) {
 
1748
      XmTextPosition cursorPos = tw->text.cursor_position;    
 
1749
      if (start < tw->text.cursor_position) {
 
1750
        if (tw->text.cursor_position < end) {
 
1751
          if (tw->text.cursor_position - start <= block_num_chars)
 
1752
            cursorPos = tw->text.cursor_position;
 
1753
          else
 
1754
            cursorPos = start + block_num_chars;
 
1755
        } else {
 
1756
          cursorPos = tw->text.cursor_position - (end - start) + block_num_chars;
 
1757
        }
 
1758
        _XmTextSetCursorPosition(widget, cursorPos);
 
1759
      } else if (start == tw->text.cursor_position && tw->text.auto_show_cursor_position) {
 
1760
        _XmTextShowPosition(tw, cursorPos);
 
1761
      }
 
1762
    }
 
1763
#else
1745
1764
    if (start < tw->text.cursor_position && tw->text.on_or_off == on) {
1746
1765
      XmTextPosition cursorPos = tw->text.cursor_position;
1747
1766
      if (tw->text.cursor_position < end) {
1755
1774
      }
1756
1775
      _XmTextSetCursorPosition(widget, cursorPos);
1757
1776
    }
 
1777
#endif
1758
1778
  }
1759
1779
}
1760
1780
 
2171
2191
   newtw->text.onthespot->under_preedit = False;
2172
2192
   newtw->text.onthespot->under_verify_preedit = False;
2173
2193
   newtw->text.onthespot->verify_commit = False;
 
2194
   newtw->text.tm_table = (XtTranslations)NULL;
2174
2195
}
2175
2196
 
2176
2197
/*
2278
2299
  if (XmDirectionMatch(XmPrim_layout_direction(tw),
2279
2300
                       XmTOP_TO_BOTTOM_RIGHT_TO_LEFT)) {
2280
2301
    char *vevent_bindings;
2281
 
    XtTranslations tm_table;
2282
2302
    
2283
2303
    vevent_bindings =
2284
2304
                (String)XtMalloc(strlen(_XmTextIn_XmTextVEventBindings) + 1);
2285
2305
    strcpy(vevent_bindings, _XmTextIn_XmTextVEventBindings);
2286
 
    tm_table = (XtTranslations)XtParseTranslationTable(vevent_bindings);
 
2306
    tw->text.tm_table = (XtTranslations)XtParseTranslationTable(vevent_bindings);
2287
2307
    XtFree(vevent_bindings);
2288
 
    XtOverrideTranslations(wid, tm_table);
 
2308
    XtOverrideTranslations(wid, tw->text.tm_table);
2289
2309
  }
2290
2310
  
2291
2311
  /* Initialize table */
2437
2457
  
2438
2458
  if (tw->text.onthespot != NULL)
2439
2459
    XtFree((char *)tw->text.onthespot);
 
2460
    
 
2461
  if (tw->text.tm_table != NULL)
 
2462
    XtFree((char *)tw->text.tm_table);
2440
2463
}
2441
2464
 
2442
2465
static void