dist/changes-3.1.0-b1
changeset 0 1918ee327afb
equal deleted inserted replaced
-1:000000000000 0:1918ee327afb
       
     1 Qt 3.1 introduces many significant new features and many improvements
       
     2 over the 3.0.x series. This file provides an overview of the main
       
     3 changes since version 3.0.5. For further details see the online
       
     4 documentation which is included in this distribution, and also
       
     5 available at http://qt.nokia.com/doc/.
       
     6 
       
     7 The Qt version 3.1 series is binary compatible with the 3.0.x series:
       
     8 applications compiled for 3.0 will continue to run with 3.1.
       
     9 
       
    10 
       
    11 ****************************************************************************
       
    12 *                                 General                                  *
       
    13 ****************************************************************************
       
    14 
       
    15 Qt Script for Applications
       
    16 --------------------------
       
    17 Qt 3.1 is the first Qt release that can be used with Qt Script for
       
    18 Applications (QSA). QSA provides a scripting engine, an IDE for
       
    19 creating and editing scripts and script forms, and bindings to the Qt
       
    20 API. Script-enabling a Qt application is not difficult and the IDE
       
    21 makes it easy for resellers and end-users to write their own scripts.
       
    22 QSA is due for release after Qt 3.1.
       
    23 
       
    24 
       
    25 Qt Designer
       
    26 -----------
       
    27 Qt Designer, the visual GUI builder, has undergone several usability
       
    28 improvements. A new dialog for creating and editing signals and slots
       
    29 connections has been created: it is much easier to use and much faster
       
    30 for setting up multiple connections. The widgets are now presented in
       
    31 an easy-to-use toolbox rather than in toolbars (although you can still
       
    32 have the toolbars if you want). The property editor now handles common
       
    33 properties in multiple widgets simultaneously. By popular demand,
       
    34 WYSIWYG support for QWidgetStack has been added. Rich text is now
       
    35 supported with a rich text editor. And the code editor can be used for
       
    36 ordinary member functions as well as for slots.
       
    37 
       
    38 
       
    39 Qt Assistant
       
    40 ------------
       
    41 Qt Assistant, the Qt documentation browser, can now be used with
       
    42 custom documentation sets. This new functionality combined with the
       
    43 new QAssistantClient class means that you can use Qt Assistant as a
       
    44 help browser for your own applications. Qt Assistant has also been
       
    45 enhanced by the addition of a fast full text search engine.
       
    46 
       
    47 
       
    48 Motif
       
    49 -----
       
    50 The general industry-wide move away from Motif is leaving more and
       
    51 more companies in need of a migration solution. But converting large
       
    52 legacy applications in one step is often impractical. To minimize
       
    53 risks and to manage the workload companies often want to port code on
       
    54 a module by module basis. Qt 3.1 includeds a completely new Motif
       
    55 module that supports hybrid applications in which Qt code and Motif
       
    56 code coexist. (This obsoletes the earlier rudimentary Qt Xt/Motif
       
    57 extension.)
       
    58 
       
    59 
       
    60 ActiveX
       
    61 -------
       
    62 With the release of Qt 3.1, customers who use Qt for Microsoft Windows
       
    63 development can now use Qt with ActiveX. The new ActiveQt module
       
    64 provides a simple API for COM and ActiveX. The module can be used to
       
    65 create applications which host ActiveX controls, and also to create
       
    66 applications that serve ActiveX controls (e.g. Internet Explorer
       
    67 plugins).
       
    68 
       
    69 
       
    70 Qt/Mac
       
    71 ------
       
    72 The introduction of Qt/Mac, a Mac OS X port of Qt, with Qt 3.0 has
       
    73 proved a great success. This port has undergone many improvements in
       
    74 Qt 3.1, especially with respect to Appearance Manager, anti-aliased
       
    75 text and user settings. The Qt OpenGL support is greatly improved, and
       
    76 uses the hardware-accelerated drivers.
       
    77 
       
    78 
       
    79 Qt/Embedded
       
    80 -----------
       
    81 Graphics, mouse and keyboard drivers can now be compiled as plugins.
       
    82 
       
    83 
       
    84 Qt library
       
    85 ----------
       
    86 In addition to the new additions and enhancements referred to above,
       
    87 as with all major Qt releases, Qt 3.1 includes hundreds of
       
    88 improvements in the existing class library. Here is a brief summary of
       
    89 the most significant changes:
       
    90 
       
    91 - QTextEdit has a new text format: LogText. This is a performance and
       
    92   memory optimized format especially designed for the fast display of
       
    93   large amounts of text. The format supports basic highlighting,
       
    94   including bold and colored text.
       
    95 
       
    96 - The new QSyntaxHighlighter class makes it both easy and efficient to
       
    97   add syntax highlighting capabilities to a QTextEdit.
       
    98 
       
    99 - QHttp and QFtp in earlier Qt's were implementations of the
       
   100   QNetworkProtocol. Both have been extended to stand in their own
       
   101   right. If you missed some flexibility in the network protocol
       
   102   abstractions of earlier Qt's, the new QHttp and QFtp classes should
       
   103   provide the solution.
       
   104 
       
   105 - QAccel, used to handle keyboard shortcuts, now gracefully copes with
       
   106   shortcut clashes. If a clash occurs, a new signal,
       
   107   activatedAmbiguously(), is emitted. Classes that use QAccel, like
       
   108   QButton and QPopupMenu, make use of this new functionality.
       
   109   Futhermore QAccel can now handle multi-key sequences, for example,
       
   110   Ctrl+X,Ctrl+F.
       
   111 
       
   112 - QClipboard has been extended to simplify data exchange between
       
   113   programs.
       
   114 
       
   115 - Thread support: almost all methods in the tools classes have been
       
   116   made reentrant. QApplication::postEvent() and a few other methods
       
   117   are now thread-safe if Qt is compiled as a multi-threaded library.
       
   118   (The documentation now states if a class or function is thread-safe
       
   119   or reentrant.)
       
   120 
       
   121 - A QMutexLocker class has been added to simplify the locking and
       
   122   unlocking of mutexes.
       
   123 
       
   124 - Input methods: A selectionLength() function has been added to
       
   125   QIMEvent. Japanese compositions are now handled correctly. Support
       
   126   for AIMM based input methods (those working on non-Asian versions of
       
   127   Win95/98/Me) has been added.
       
   128 
       
   129 - Large File support: Qt's internals have been modified to support
       
   130   Large Files (> 2GB). QFileDialog will now correctly display and
       
   131   select Large Files.
       
   132 
       
   133 - SQL module: Support for prepared query execution and value binding
       
   134   has been added. Among other benefits, this makes it possible to
       
   135   write large BLOBs (> 2 KB) to Oracle databases, and to write Unicode
       
   136   strings to SQL Server databases.
       
   137 
       
   138 
       
   139 Build process
       
   140 -------------
       
   141 The build process has been improved:
       
   142 
       
   143 - The configure script does not need QTDIR to be set anymore.
       
   144 
       
   145 
       
   146 ****************************************************************************
       
   147 *                                 Library                                  *
       
   148 ****************************************************************************
       
   149 
       
   150 New classes
       
   151 ==================
       
   152 
       
   153 - QBackInsertIterator
       
   154 - QEventLoop
       
   155 - QIconFactory
       
   156 - QMutexLocker
       
   157 - QSyntaxHighlighter
       
   158 
       
   159 
       
   160 QAction
       
   161 ------------------
       
   162 New functions:
       
   163 	void setVisible( bool )
       
   164 	bool isVisible() const
       
   165 
       
   166 
       
   167 QCanvas
       
   168 ------------------
       
   169 New functions:
       
   170 	void invalidate()
       
   171 	bool isValid() const
       
   172 
       
   173 
       
   174 QColorDialog
       
   175 ------------------
       
   176 New functions:
       
   177 	static void setStandardColor( int, QRgb )
       
   178 
       
   179 
       
   180 QAccel
       
   181 ------------------
       
   182 New signals:
       
   183 	void activatedAmbiguously( int id )
       
   184 
       
   185 
       
   186 QApplication
       
   187 ------------------
       
   188 The event loop has been moved to the QEventLoop class, making it
       
   189 easier to integrate other toolkits with Qt.
       
   190 
       
   191 New functions:
       
   192 	QEventLoop *eventLoop() const
       
   193 	void setEventLoop( QEventLoop * )
       
   194 	QString sessionKey() const
       
   195 
       
   196 
       
   197 QClipboard
       
   198 ------------------
       
   199 New functions:
       
   200 	void clear( Mode mode )
       
   201 	bool supportsSelection() const
       
   202 	bool ownsSelection() const
       
   203 	bool ownsClipboard() const
       
   204 	QString text( Mode mode )  const
       
   205 	QString text( QCString& subtype, Mode mode ) const
       
   206 	void setText( const QString &, Mode mode )
       
   207 	QMimeSource *data( Mode mode ) const
       
   208 	void setData( QMimeSource*, Mode mode )
       
   209 	QImage image( Mode mode ) const
       
   210 	QPixmap pixmap( Mode mode ) const
       
   211 	void setImage( const QImage &, Mode mode )
       
   212 	void setPixmap( const QPixmap &, Mode mode )
       
   213 
       
   214 
       
   215 QDesktopWidget
       
   216 ------------------
       
   217 New functions:
       
   218 	const QRect& screenGeometry( QWidget *widget ) const
       
   219 	const QRect& screenGeometry( const QPoint &point ) const
       
   220 	const QRect& availableGeometry( int screen ) const
       
   221 	const QRect& availableGeometry( QWidget *widget ) const
       
   222 	const QRect& availableGeometry( const QPoint &point ) const
       
   223 
       
   224 
       
   225 QFileDialog
       
   226 ------------------
       
   227 Large Files (> 2GB) are now correctly displayed and selected.
       
   228 
       
   229 
       
   230 QFileInfo
       
   231 ------------------
       
   232 QFileInfo now supports Large Files (> 2GB) internally. To maintain
       
   233 binary compatibility the QFileInfo API cannot be adapted before Qt 4
       
   234 and will truncate file sizes and offsets to 4 GB.
       
   235 
       
   236 New functions:
       
   237 	bool isHidden() const
       
   238 
       
   239 
       
   240 QFile
       
   241 ------------------
       
   242 QFile now supports Large Files (> 2GB) internally. To maintain binary
       
   243 compatibility the QFile API cannot be adapted before Qt 4 and will
       
   244 truncate file sizes and offsets to 4 GB.
       
   245 
       
   246 
       
   247 QDir
       
   248 ------------------
       
   249 QDir now supports Large Files (> 2GB).
       
   250 
       
   251 
       
   252 QImEvent
       
   253 ------------------
       
   254 New functions:
       
   255 	in selectionLength() const
       
   256 
       
   257 
       
   258 QIconSet
       
   259 ------------------
       
   260 New functions:
       
   261 	void installIconFactory( QIconFactory *factory )
       
   262 
       
   263 
       
   264 QImage
       
   265 ------------------
       
   266 New functions:
       
   267 	static QImage fromMimeSource( const QString& abs_name )
       
   268 
       
   269 
       
   270 QMetaObject
       
   271 ------------------
       
   272 New functions:
       
   273 	QStrList enumeratorNames( bool super ) const
       
   274 	int numEnumerators( bool super ) const
       
   275 	static bool hasMetaObject( const char *class_name )
       
   276 
       
   277 
       
   278 QMenuData
       
   279 ------------------
       
   280 New functions:
       
   281 	bool isItemVisible( int id ) const
       
   282 	void setItemVisible( int id, bool visible )
       
   283 Both functions are inherited by QMenuBar and QPopupMenu
       
   284 
       
   285 
       
   286 QPaintDevice
       
   287 ------------------
       
   288 New functions (x11 only):
       
   289 	static Qt::HANDLE x11AppRootWindow()
       
   290 	static int x11AppDepth( int screen )
       
   291 	static int x11AppCells( int screen )
       
   292 	static Qt::HANDLE x11AppRootWindow( int screen )
       
   293 	static Qt::HANDLE x11AppColormap( int screen )
       
   294 	static void *x11AppVisual( int screen )
       
   295 	static bool x11AppDefaultColormap( int screen )
       
   296 	static bool x11AppDefaultVisual( int screen )
       
   297 	static int x11AppDpiX( int )
       
   298 	static int x11AppDpiY( int )
       
   299 	static void x11SetAppDpiX( int, int )
       
   300 	static void x11SetAppDpiY( int, int )
       
   301 
       
   302 
       
   303 QPicture
       
   304 ------------------
       
   305 New functions:
       
   306 	void setBoundingRect( const QRect &r )
       
   307 
       
   308 
       
   309 QPixmap
       
   310 ------------------
       
   311 New functions:
       
   312 	bool hasAlpha() const
       
   313 	static QPixmap fromMimeSource( const QString& abs_name )
       
   314 
       
   315 
       
   316 QPrinter
       
   317 ------------------
       
   318 New functions:
       
   319 	void setMargins( uint top, uint left, uint bottom, uint right )
       
   320 	void margins( uint *top, uint *left, uint *bottom, uint *right ) const
       
   321 
       
   322 Improvements:
       
   323 	Handle masked images and pixmaps correctly. Add code to handle
       
   324 	asymmetrical printer margins correctly.
       
   325 
       
   326 
       
   327 QSessionManager
       
   328 ------------------
       
   329 New functions:
       
   330 	QString sessionKey() const
       
   331 
       
   332 
       
   333 QStyleOption
       
   334 ------------------
       
   335 New functions:
       
   336 	QStyleOption( QCheckListItem* i )
       
   337 	QCheckListItem* checkListItem() const
       
   338 
       
   339 New enums values:
       
   340 	PE_CheckListController, PE_CheckListIndicator,
       
   341 	    PE_CheckListExclusiveIndicator, PE_PanelGroupBox
       
   342 	CE_MenuBarEmptyArea
       
   343 	CE_DockWindowEmptyArea
       
   344 	PM_CheckListButtonSize
       
   345 	CT_TabBarTab, CT_Slider, CT_Header, CT_LineEdit
       
   346 	SH_GroupBox_TextLabelVerticalAlignment
       
   347 
       
   348 
       
   349 QThread
       
   350 ------------------
       
   351 New functions:
       
   352 	void terminate()
       
   353 
       
   354 
       
   355 QTranslator
       
   356 ------------------
       
   357 New functions:
       
   358 	bool load( const uchar *data, int len )
       
   359 
       
   360 
       
   361 QVariant
       
   362 ------------------
       
   363 New functions:
       
   364 	QVariant( const QPen& )
       
   365 	const QPen toPen() const
       
   366 	QPen& asPen()
       
   367 	bool isNull() const
       
   368 
       
   369 New enum values:
       
   370 	KeySequence, Pen
       
   371 
       
   372 
       
   373 QWidget
       
   374 ------------------
       
   375 All top-level widgets will now try to find an appropriate application
       
   376 icon when they're not given one, trying in this order
       
   377  1. Parent widget's icon
       
   378  2. Top-level widget's icon
       
   379  3. Application main widget's icon
       
   380 
       
   381 New functions:
       
   382 	bool isFullScreen() const
       
   383 	void setSizePolicy( QSizePolicy::SizeType hor, QSizePolicy::SizeType ver, bool hfw = FALSE )
       
   384 
       
   385 New enum values:
       
   386 	AncestorOrigin
       
   387 
       
   388 
       
   389 QWMatrix
       
   390 ------------------
       
   391 Two different transformation modes for painter transformations are now
       
   392 available. See the QWMatrix documentation for details.
       
   393 
       
   394 New functions:
       
   395 	QPointArray mapToPolygon( const QRect &r ) const
       
   396 	double det() const
       
   397 	static void setTransformationMode( QWMatrix::TransformationMode m )
       
   398 	static TransformationMode transformationMode()
       
   399 
       
   400 New enums:
       
   401 	TransformationMode { Points, Areas }
       
   402 
       
   403 
       
   404 QFtp
       
   405 ------------------
       
   406 While still remaining a subclass of QNetworkProtocol, QFtp can be now
       
   407 used directly for more advanced FTP operations. The QFtp documentation
       
   408 provides details of the extensions to the API.
       
   409 
       
   410 
       
   411 QHttp
       
   412 ------------------
       
   413 While still remaining a subclass of QNetworkProtocol, QHttp can be now
       
   414 used directly for more advanced HTTP operations. The QHttp
       
   415 documentation provides details of the extensions to the API.
       
   416  
       
   417 Related new classes:
       
   418 	QHttpHeader
       
   419 	QHttpResponseHeader
       
   420 	QHttpRequestHeader
       
   421 
       
   422 
       
   423 QSqlDriver
       
   424 ------------------
       
   425 New enum values:
       
   426 	Unicode, PreparedQueries, OracleBindingStyle, ODBCBindingStyle
       
   427 	
       
   428 
       
   429 QSqlQuery
       
   430 ------------------
       
   431 New functions:
       
   432 	bool isForwardOnly() const
       
   433 	void setForwardOnly( bool forward )
       
   434 	bool exec()
       
   435 	bool prepare( const QString& query )
       
   436 	void bindValue( const QString& placeholder, const QVariant& val )
       
   437 	void bindValue( int pos, const QVariant& val )
       
   438 	void addBindValue( const QVariant& val )
       
   439 
       
   440 
       
   441 QTableSelection
       
   442 ------------------
       
   443 New functions:
       
   444 	QTableSelection( int start_row, int start_col, int end_row, int end_col )
       
   445 
       
   446 
       
   447 QTable
       
   448 ------------------
       
   449 New properties:
       
   450 	int numSelections
       
   451 
       
   452 New functions:
       
   453 	void selectCells( int start_row, int start_col, int end_row, int end_col )
       
   454 	void selectRow( int row )
       
   455 	void selectColumn( int col )
       
   456 	void updateHeaderStates()
       
   457 	void setRowLabels( const QStringList &labels )
       
   458 	void setColumnLabels( const QStringList &labels )
       
   459 
       
   460 
       
   461 QCString
       
   462 ------------------
       
   463 New functions:
       
   464     	QCString &replace( char c, const char *after )
       
   465     	QCString &replace( const char *, const char * )
       
   466     	QCString &replace( char, char )
       
   467 
       
   468 New global functions:
       
   469 	QByteArray qCompress( const uchar* data, int nbytes )
       
   470 	QByteArray qUncompress( const uchar* data, int nbytes )
       
   471 	QByteArray qCompress( const QByteArray& data )
       
   472 	QByteArray qUncompress( const QByteArray& data )
       
   473 Improvements:
       
   474 	Speed optimisations in lots of the old search and replace
       
   475 	functions.
       
   476 
       
   477 
       
   478 QDate
       
   479 ------------------
       
   480 New functions:
       
   481 	int weekNumber( int *yearNum = 0 ) const
       
   482 	static QDate currentDate( Qt::DateTimeSpec )
       
   483 
       
   484 
       
   485 QTime
       
   486 ------------------
       
   487 New functions:
       
   488 	static QTime currentTime( Qt::DateTimeSpec )
       
   489 
       
   490 
       
   491 QDateTime
       
   492 ------------------
       
   493 New functions:
       
   494 	static QDateTime currentDateTime( Qt::DateTimeSpec )
       
   495 
       
   496 
       
   497 QPtrList
       
   498 ------------------
       
   499 New functions:
       
   500 	bool replace( uint i, const type *d )
       
   501 
       
   502 
       
   503 QRegExp
       
   504 ------------------
       
   505 New functions:
       
   506 	QString errorString()
       
   507 	static QString escape( const QString& str )
       
   508 	int numCaptures() const
       
   509 
       
   510 
       
   511 QSettings
       
   512 ------------------
       
   513 New functions:
       
   514 	QSettings( Format format )
       
   515 	void setPath( const QString &domain, const QString &product, Scope = User )
       
   516 	void beginGroup( const QString &group )
       
   517 	void endGroup()
       
   518 	void resetGroup()
       
   519 	QString group() const
       
   520 
       
   521 New enums:
       
   522 	Format { Native = 0, Ini }
       
   523 	Scope { User, Global }
       
   524 
       
   525 
       
   526 QChar
       
   527 ------------------
       
   528 Updated Unicode tables to Unicode-3.2
       
   529 
       
   530 
       
   531 QString
       
   532 ------------------
       
   533 New functions:
       
   534 	QString &append( const QByteArray & )
       
   535 	QString &append( const char * )
       
   536 	QString &prepend( const QByteArray & )
       
   537 	QString &prepend( const char * )
       
   538 	QString &remove( QChar c )
       
   539 	QString &remove( char c )
       
   540 	QString &remove( const QString & )
       
   541 	QString &remove( const QRegExp & )
       
   542 	QString &remove( const char * )
       
   543 	QString &replace( uint index, uint len, QChar )
       
   544 	QString &replace( uint index, uint len, char c )
       
   545 	QString &replace( QChar c, const QString & )
       
   546 	QString &replace( char c, const QString & after )
       
   547 	QString &replace( const QString &, const QString & )
       
   548 	QString &replace( QChar, QChar )
       
   549 	QString &operator+=( const QByteArray &str )
       
   550 	QString &operator+=( const char *str )
       
   551 	static QString fromUcs2( const unsigned short *ucs2 )
       
   552 	const unsigned short *ucs2() const
       
   553 
       
   554 Improvements:
       
   555 	find(), findRev() and contains() use either a fast hashing
       
   556 	algorithm (for short strings) or an optimized Boyer-Moore
       
   557 	implementation for long strings. Lots of smaller performance
       
   558 	optimisations.
       
   559 
       
   560 
       
   561 QTextStream
       
   562 ------------------
       
   563 New functions:
       
   564 	QTextCodec *codec()
       
   565 
       
   566 
       
   567 QTimeEdit
       
   568 ------------------
       
   569 New properties:
       
   570 	Display display
       
   571 
       
   572 New functions:
       
   573 	uint display() const
       
   574 	void setDisplay( uint )
       
   575 
       
   576 New enums:
       
   577 	Display { Hours, Minutes, Seconds, AMPM }
       
   578 
       
   579 
       
   580 QFrame
       
   581 ------------------
       
   582 New enum values:
       
   583 	GroupBoxPanel
       
   584 
       
   585 
       
   586 QGroupBox
       
   587 ------------------
       
   588 New properties:
       
   589 	bool flat
       
   590 
       
   591 New functions:
       
   592 	bool isFlat() const
       
   593 	void setFlat( bool b )
       
   594 
       
   595 
       
   596 QListBox
       
   597 ------------------
       
   598 New functions:
       
   599 	QListBoxItem* selectedItem() const
       
   600 
       
   601 
       
   602 QListView
       
   603 ------------------
       
   604 New functions:
       
   605 	int sortColumn() const
       
   606 
       
   607 
       
   608 QSlider
       
   609 ------------------
       
   610 New functions:
       
   611 	void addLine() ( as slot)
       
   612 	void subtractLine() (as slot)
       
   613 
       
   614 
       
   615 QTextBrowser
       
   616 ------------------
       
   617 New functions:
       
   618 	void sourceChanged( const QString& )
       
   619 	void anchorClicked( const QString&, const QString& )
       
   620 
       
   621 
       
   622 QTextEdit
       
   623 ------------------
       
   624 QTextEdit offers another TextFormat (LogText), which is optimized
       
   625 (speed and memory) for displaying large read-only texts normally used
       
   626 for logging.
       
   627 
       
   628 New properties:
       
   629 	bool allowTabs
       
   630 
       
   631 New functions:
       
   632 	QString anchorAt( const QPoint& pos, AnchorAttribute a )
       
   633 	void setAllowTabs( bool b )
       
   634 	bool allowTabs() const
       
   635 	void insert( const QString &text, uint insertionFlags = CheckNewLines | RemoveSelected )
       
   636 
       
   637 New signals:
       
   638 	void clicked( int parag, int index )
       
   639 	void doubleClicked( int parag, int index )
       
   640 
       
   641 New enums:
       
   642 	TextInsertionFlags { RedoIndentation, CheckNewLines, RemoveSelected }
       
   643 
       
   644 New enum values:
       
   645 	AtWordOrDocumentBoundary
       
   646 
       
   647 
       
   648 QToolButton
       
   649 ------------------
       
   650 New properties:
       
   651 	TextPosition textPosition
       
   652 
       
   653 New functions:
       
   654 	TextPosition textPosition() const
       
   655 	void setTextPosition( TextPosition pos )
       
   656 
       
   657 New enums:
       
   658 	TextPosition { Right, Under }
       
   659 
       
   660 
       
   661 QTooltip
       
   662 ------------------
       
   663 New functions:
       
   664 	static void setWakeUpDelay( int )
       
   665 
       
   666 
       
   667 QWhatsThis
       
   668 ------------------
       
   669 New functions:
       
   670 	static void setFont( const QFont &font )
       
   671 
       
   672 
       
   673 QDomDocument
       
   674 ------------------
       
   675 New functions:
       
   676 	QString toString( int ) const
       
   677 	QCString toCString( int ) const
       
   678 
       
   679 
       
   680 QFont on X11 
       
   681 ------------------ 
       
   682 Improvements:
       
   683 	Safe handling of huge font sizes. Added support for the new
       
   684 	Xft2 font library on XFree-4.x.
       
   685 
       
   686 
       
   687 QRegion on X11 
       
   688 ------------------ 
       
   689 Improvements:
       
   690 	Removed the 16 bit size limitation
       
   691 
       
   692 ****************************************************************************