Drop old files left over from svn conversion

This commit is contained in:
Jeremy Bicha
2017-12-20 08:23:16 -05:00
parent 2b0c431c96
commit 1fa0f5c4bc
78 changed files with 0 additions and 23516 deletions

5
debian/docs vendored
View File

@ -1,5 +0,0 @@
build-tree/gtk+-2.8.7/NEWS
build-tree/gtk+-2.8.7/README
build-tree/gtk+-2.8.7/ChangeLog.pre-1-0
build-tree/gtk+-2.8.7/ChangeLog.pre-1-2
build-tree/gtk+-2.8.7/ChangeLog.pre-2-0

5
debian/docs.in vendored
View File

@ -1,5 +0,0 @@
build-tree/gtk+-@VERSION@/NEWS
build-tree/gtk+-@VERSION@/README
build-tree/gtk+-@VERSION@/ChangeLog.pre-1-0
build-tree/gtk+-@VERSION@/ChangeLog.pre-1-2
build-tree/gtk+-@VERSION@/ChangeLog.pre-2-0

215
debian/gtk-faq.devhelp vendored
View File

@ -1,215 +0,0 @@
<?xml version="1.0"?>
<book title="GTK+ FAQ"
name="gtk-faq"
link="book1.html">
<chapters>
<sub name="General Information" link="c20.html">
<sub name="Note: This FAQ is undergoing conversion to GTK+ 2.x" link="c20.html#AEN22"/>
<sub name="Before anything else: the greetings" link="x26.html"/>
<sub name="[GTK 2.x]" link="x165.html"/>
<sub name="Authors" link="x52.html"/>
<sub name="[GTK 2.x]" link="x165.html"/>
<sub name="What is GTK+?" link="x81.html"/>
<sub name="[GTK 2.x]" link="x165.html"/>
<sub name="What is the + in GTK+?" link="x90.html"/>
<sub name="[GTK 2.x]" link="x165.html"/>
<sub name="Does the G in GTK+, GDK and GLib stand for?" link="x98.html"/>
<sub name="[GTK 2.x]" link="x165.html"/>
<sub name="Where is the documentation for GTK+?" link="x104.html"/>
<sub name="[GTK 2.x]" link="x165.html"/>
<sub name="Is there a mailing list (or mailing list archive) for
GTK+?" link="x132.html"/>
<sub name="[GTK 2.x]" link="x165.html"/>
<sub name="How to get help with GTK+" link="x137.html"/>
<sub name="[GTK 2.x]" link="x165.html"/>
<sub name="How to report bugs in GTK+" link="x141.html"/>
<sub name="[GTK 2.x]" link="x165.html"/>
<sub name="Is there a Windows version of GTK+?" link="x157.html"/>
<sub name="[GTK 2.x]" link="x165.html"/>
<sub name="What applications have been written with GTK+?" link="x165.html"/>
<sub name="[GTK 2.x]" link="x165.html"/>
</sub>
<sub name="How to find, configure, install, and troubleshoot GTK+" link="c192.html">
<sub name="What do I need to compile GTK+?" link="c192.html#FAQ-COMPILE"/>
<sub name="[GTK 2.x]" link="x306.html"/>
<sub name="Where can I get GTK+?" link="x234.html"/>
<sub name="[GTK 2.x]" link="x306.html"/>
<sub name="How do I configure/compile GTK+?" link="x261.html"/>
<sub name="[GTK 2.x]" link="x306.html"/>
<sub name="When compiling GTK+ I get an error like:" link="x278.html"/>
<sub name="make:
file `Makefile' line 456: Syntax error" link="x278.html"/>
<sub name="[GTK 2.x]" link="x306.html"/>
<sub name="I've compiled and installed GTK+, but I can't get any
programs to link with it!" link="x284.html"/>
<sub name="[GTK 2.x]" link="x306.html"/>
<sub name="When installing a GTK+ application, configure reports
that it can't find GTK." link="x306.html"/>
<sub name="[GTK 2.x]" link="x306.html"/>
</sub>
<sub name="Development of GTK+" link="c323.html">
<sub name="Whats this CVS thing that everyone keeps talking about,
and how do I access it?" link="c323.html#AEN325"/>
<sub name="[GTK 2.x]" link="x381.html"/>
<sub name="How can I contribute to GTK+?" link="x359.html"/>
<sub name="[GTK 2.x]" link="x381.html"/>
<sub name="How do I know if my patch got applied, and if not, why
not?" link="x367.html"/>
<sub name="[GTK 2.x]" link="x381.html"/>
<sub name="What is the policy on incorporating new widgets into
the library?" link="x373.html"/>
<sub name="[GTK 2.x]" link="x381.html"/>
<sub name="Is anyone working on bindings for languages other than
C?" link="x381.html"/>
<sub name="[GTK 2.x]" link="x381.html"/>
</sub>
<sub name="Development with GTK+: the begining" link="c387.html">
<sub name="How do I get started?" link="c387.html#AEN389"/>
<sub name="[GTK 2.x]" link="x462.html"/>
<sub name="How do I use the Glade GUI builder with GTK+?" link="x395.html"/>
<sub name="[GTK 2.x]" link="x462.html"/>
<sub name="How do I write security sensitive/SUID/SGID programs with GTK+?
Is GTK+ secure? What's this GTK_MODULES security hole I heard about?" link="x402.html"/>
<sub name="[GTK 2.x]" link="x462.html"/>
<sub name="I tried to compile a small" link="x409.html"/>
<sub name="Hello World" link="x409.html"/>
<sub name="of mine,
but it failed. Any clue?" link="x409.html"/>
<sub name="[GTK 2.x]" link="x462.html"/>
<sub name="What about using the" link="x426.html"/>
<sub name="make" link="x426.html"/>
<sub name="utility?" link="x426.html"/>
<sub name="[GTK 2.x]" link="x462.html"/>
<sub name="I use the backquote stuff in my makefiles, but my make
process failed." link="x434.html"/>
<sub name="[GTK 2.x]" link="x462.html"/>
<sub name="I want to add some configure stuff, how could I do
this?" link="x440.html"/>
<sub name="[GTK 2.x]" link="x462.html"/>
<sub name="I try to debug my GTK+ application with gdb, but it
hangs my X server when I hit some breakpoint. Any
Idea?" link="x462.html"/>
<sub name="[GTK 2.x]" link="x462.html"/>
</sub>
<sub name="Development with GTK+: general questions" link="c476.html">
<sub name="What widgets are in GTK?" link="c476.html#AEN478"/>
<sub name="Is GTK+ thread safe? How do I write multi-threaded GTK+
applications?" link="x482.html"/>
<sub name="[GTK 2.x]" link="x663.html"/>
<sub name="I'm doing some stuff with GTK+ in a separate thread, and
properly locking with gdk_threads_enter/gdk_threads_leave()
but the display doesn't update properly." link="x492.html"/>
<sub name="[GTK 2.x]" link="x663.html"/>
<sub name="What's an easy way to run a function in the thread with
the main loop?" link="x500.html"/>
<sub name="[GTK 2.x]" link="x663.html"/>
<sub name="Why does this strange 'x io error' occur when I" link="x506.html"/>
<sub name="fork()" link="x506.html"/>
<sub name="in my GTK+ app?" link="x506.html"/>
<sub name="[GTK 2.x]" link="x663.html"/>
<sub name="Why don't the contents of a button move when the button
is pressed? Here's a patch to make it work that way..." link="x519.html"/>
<sub name="[GTK 2.x]" link="x663.html"/>
<sub name="How do I identifiy a widgets top level window or other
ancestor?" link="x527.html"/>
<sub name="[GTK 2.x]" link="x663.html"/>
<sub name="How do I get the Window ID of a GtkWindow?" link="x540.html"/>
<sub name="[GTK 2.x]" link="x663.html"/>
<sub name="How do I catch a double click event?" link="x545.html"/>
<sub name="[GTK 2.x]" link="x663.html"/>
<sub name="By the way, what are the differences between signals
and events?" link="x556.html"/>
<sub name="Data I pass to the" link="x567.html"/>
<sub name="delete_event" link="x567.html"/>
<sub name="(or other event)
handler gets corrupted." link="x567.html"/>
<sub name="I have my signal connected to the the (whatever) event,
but it seems I don't catch it. What's wrong?" link="x573.html"/>
<sub name="I need to add a new signal to a GTK+ widget. Any
idea?" link="x581.html"/>
<sub name="Is it possible to get some text displayed which is
truncated to fit inside its allocation?" link="x591.html"/>
<sub name="How do I make my window modal? / How do I make a single
window active?" link="x597.html"/>
<sub name="Why doesn't my widget (e.g. progressbar)
update?" link="x602.html"/>
<sub name="[GTK 2.x]" link="x663.html"/>
<sub name="How do I attach data to some GTK+ object/widget?" link="x611.html"/>
<sub name="[GTK 2.x]" link="x663.html"/>
<sub name="How do I remove the data I have attached to an
object?" link="x624.html"/>
<sub name="How do I reparent a widget?" link="x636.html"/>
<sub name="How could I get any widgets position?" link="x643.html"/>
<sub name="How do I set the size of a widget/window? How do I
prevent the user resizing my window?" link="x663.html"/>
<sub name="[GTK 2.x]" link="x663.html"/>
<sub name="How do I add a popup menu to my GTK+ application?" link="x670.html"/>
<sub name="How do I disable or enable a widget, such as a
button?" link="x675.html"/>
<sub name="Shouldn't the text argument in the gtk_clist_*
functions be declared const?" link="x679.html"/>
<sub name="How do I render pixels (image data) to the
screen?" link="x685.html"/>
<sub name="How do I create a pixmap without having my window being
realized/shown?" link="x691.html"/>
<sub name="How do I do drag-and-drop?" link="x697.html"/>
<sub name="Why does GTK+/GLib leak memory?" link="x703.html"/>
</sub>
<sub name="Development with GTK+: widget specific questions" link="c708.html">
<sub name="How do I find out about the selection of a GtkList?" link="c708.html#AEN710"/>
<sub name="How do I stop the column headings of a GtkCList
disappearing when the list is scrolled?" link="x747.html"/>
<sub name="I don't want the user of my applications to enter text
into a GtkCombo. Any idea?" link="x753.html"/>
<sub name="How do I catch a combo box change?" link="x760.html"/>
<sub name="How can I define a separation line in a menu?" link="x770.html"/>
<sub name="How can I right justify a menu, such as Help?" link="x775.html"/>
<sub name="How do I add some underlined accelerators to menu
items?" link="x781.html"/>
<sub name="How can I retrieve the text from a GtkMenuItem?" link="x789.html"/>
<sub name="How do I right (or otherwise) justify a
GtkLabel?" link="x799.html"/>
<sub name="How do I set the background color of a GtkLabel
widget?" link="x811.html"/>
<sub name="How do I set the color and font of a GtkLabel using a
Resource File?" link="x815.html"/>
<sub name="How do I configure Tooltips in a Resource File?" link="x829.html"/>
<sub name="I can't add more than (something like) 2000 chars in a
GtkEntry. What's wrong?" link="x834.html"/>
<sub name="How do I make a GtkEntry widget activate on pressing
the Return key?" link="x839.html"/>
<sub name="How do I validate/limit/filter the input to a GtkEntry?" link="x843.html"/>
<sub name="[GTK 2.x]" link="x843.html"/>
<sub name="How do I use horizontal scrollbars with a GtkText widget?" link="x848.html"/>
<sub name="How do I change the font of a GtkText widget?" link="x851.html"/>
<sub name="How do I set the cursor position in a GtkText
object?" link="x857.html"/>
</sub>
<sub name="About GDK" link="c867.html">
<sub name="What is GDK?" link="c867.html#AEN869"/>
<sub name="How do I use color allocation?" link="x872.html"/>
</sub>
<sub name="About GLib" link="c876.html">
<sub name="What is GLib?" link="c876.html#AEN878"/>
<sub name="How can I use the doubly linked lists?" link="x895.html"/>
<sub name="Memory does not seem to be released when I free the
list nodes I've allocated" link="x902.html"/>
<sub name="Why use g_print, g_malloc, g_strdup and fellow glib
functions?" link="x909.html"/>
<sub name="What's a GScanner and how do I use one?" link="x919.html"/>
</sub>
<sub name="GTK+ FAQ Contributions, Maintainers and Copyright" link="c958.html">
</sub>
</chapters>
</book>

View File

@ -1,284 +0,0 @@
<?xml version="1.0"?>
<book title="GTK+ 2.0 Tutorial"
name="gtk-tutorial"
link="book1.html">
<chapters>
<sub name="Tutorial Availability" link="c17.html">
</sub>
<sub name="Introduction" link="c24.html">
</sub>
<sub name="Getting Started" link="c58.html">
<sub name="Hello World in GTK" link="c58.html#SEC-HELLOWORLD"/>
<sub name="Compiling Hello World" link="x130.html"/>
<sub name="Theory of Signals and Callbacks" link="x178.html"/>
<sub name="Events" link="x201.html"/>
<sub name="Stepping Through Hello World" link="x300.html"/>
</sub>
<sub name="Moving On" link="c345.html">
<sub name="Data Types" link="c345.html#SEC-DATATYPES"/>
<sub name="More on Signal Handlers" link="x354.html"/>
<sub name="An Upgraded Hello World" link="x364.html"/>
</sub>
<sub name="Packing Widgets" link="c374.html">
<sub name="Theory of Packing Boxes" link="c374.html#SEC-THEORYOFPACKINGBOXES"/>
<sub name="Details of Boxes" link="x383.html"/>
<sub name="Packing Demonstration Program" link="x406.html"/>
<sub name="Packing Using Tables" link="x409.html"/>
<sub name="Table Packing Example" link="x461.html"/>
</sub>
<sub name="Widget Overview" link="c470.html">
<sub name="Casting" link="c470.html#SEC-CASTING"/>
<sub name="Widget Hierarchy" link="x498.html"/>
<sub name="Widgets Without Windows" link="x502.html"/>
</sub>
<sub name="The Button Widget" link="c510.html">
<sub name="Normal Buttons" link="c510.html#SEC-NORMALBUTTONS"/>
<sub name="Toggle Buttons" link="x539.html"/>
<sub name="Check Buttons" link="x556.html"/>
<sub name="Radio Buttons" link="x563.html"/>
</sub>
<sub name="Adjustments" link="c584.html">
<sub name="Creating an Adjustment" link="c584.html#SEC-CREATINGANADJUSTMENT"/>
<sub name="Using Adjustments the Easy Way" link="x608.html"/>
<sub name="Adjustment Internals" link="x623.html"/>
</sub>
<sub name="Range Widgets" link="c654.html">
<sub name="Scrollbar Widgets" link="c654.html#SEC-SCROLLBARWIDGETS"/>
<sub name="Scale Widgets" link="x666.html">
<sub name="Creating a Scale Widget" link="x666.html#AEN669"/>
<sub name="Functions and Signals (well, functions, at least)" link="x666.html#AEN681"/>
</sub>
<sub name="Common Range Functions" link="x705.html">
<sub name="Setting the Update Policy" link="x705.html#AEN709"/>
<sub name="Getting and Setting Adjustments" link="x705.html#AEN734"/>
</sub>
<sub name="Key and Mouse bindings" link="x746.html"/>
<sub name="Example" link="x764.html"/>
</sub>
<sub name="Miscellaneous Widgets" link="c774.html">
<sub name="Labels" link="c774.html#SEC-LABELS"/>
<sub name="Arrows" link="x814.html"/>
<sub name="The Tooltips Object" link="x831.html"/>
<sub name="Progress Bars" link="x850.html"/>
<sub name="Dialogs" link="x882.html"/>
<sub name="Rulers" link="x912.html"/>
<sub name="Statusbars" link="x940.html"/>
<sub name="Text Entries" link="x960.html"/>
<sub name="Spin Buttons" link="x988.html"/>
<sub name="Combo Box" link="x1084.html"/>
<sub name="Calendar" link="x1121.html"/>
<sub name="Color Selection" link="x1205.html"/>
<sub name="File Selections" link="x1228.html"/>
</sub>
<sub name="Container Widgets" link="c1247.html">
<sub name="The EventBox" link="c1247.html#SEC-EVENTBOX"/>
<sub name="The Alignment widget" link="x1264.html"/>
<sub name="Fixed Container" link="x1279.html"/>
<sub name="Layout Container" link="x1300.html"/>
<sub name="Frames" link="x1312.html"/>
<sub name="Aspect Frames" link="x1338.html"/>
<sub name="Paned Window Widgets" link="x1356.html"/>
<sub name="Viewports" link="x1373.html"/>
<sub name="Scrolled Windows" link="x1389.html"/>
<sub name="Button Boxes" link="x1411.html"/>
<sub name="Toolbar" link="x1423.html"/>
<sub name="Notebooks" link="x1471.html"/>
</sub>
<sub name="Menu Widget" link="c1520.html">
<sub name="Manual Menu Creation" link="c1520.html#SEC-MANUALMENUCREATION"/>
<sub name="Manual Menu Example" link="x1598.html"/>
<sub name="Using ItemFactory" link="x1607.html">
<sub name="ItemFactory entries" link="x1607.html#SEC-ITEMFACTORYENTRIES"/>
<sub name="Creating an ItemFactory" link="x1607.html#SEC-ITEMFACTORYCREATION"/>
<sub name="Making use of the menu and its menu items" link="x1607.html#SEC-USINGMENUANDITEMS"/>
</sub>
<sub name="Item Factory Example" link="x1718.html"/>
</sub>
<sub name="Undocumented Widgets" link="c1722.html">
<sub name="Accel Label" link="c1722.html#SEC-ACCELLABEL"/>
<sub name="Option Menu" link="x1730.html"/>
<sub name="Menu Items" link="x1733.html">
<sub name="Check Menu Item" link="x1733.html#SEC-CHECKMENUITEM"/>
<sub name="Radio Menu Item" link="x1733.html#SEC-RADIOMENUITEM"/>
<sub name="Separator Menu Item" link="x1733.html#SEC-SEPARATORMENUITEM"/>
<sub name="Tearoff Menu Item" link="x1733.html#SEC-TEAROFFMENUITEM"/>
</sub>
<sub name="Curves" link="x1748.html"/>
<sub name="Drawing Area" link="x1751.html"/>
<sub name="Font Selection Dialog" link="x1754.html"/>
<sub name="Message Dialog" link="x1757.html"/>
<sub name="Gamma Curve" link="x1760.html"/>
<sub name="Image" link="x1763.html"/>
<sub name="Plugs and Sockets" link="x1766.html"/>
<sub name="Tree View" link="x1769.html"/>
<sub name="Text View" link="x1772.html"/>
</sub>
<sub name="Setting Widget Attributes" link="c1775.html">
</sub>
<sub name="Timeouts, IO and Idle Functions" link="c1780.html">
<sub name="Timeouts" link="c1780.html#SEC-TIMEOUTS"/>
<sub name="Monitoring IO" link="x1791.html"/>
<sub name="Idle Functions" link="x1811.html"/>
</sub>
<sub name="Advanced Event and Signal Handling" link="c1818.html">
<sub name="Signal Functions" link="c1818.html#SEC-SIGNALFUNCTIONS">
<sub name="Connecting and Disconnecting Signal Handlers" link="c1818.html#AEN1822"/>
<sub name="Blocking and Unblocking Signal Handlers" link="c1818.html#AEN1825"/>
<sub name="Emitting and Stopping Signals" link="c1818.html#AEN1828"/>
</sub>
<sub name="Signal Emission and Propagation" link="x1831.html"/>
</sub>
<sub name="Managing Selections" link="c1855.html">
<sub name="Overview" link="c1855.html#SEC-SELECTIONSOVERVIEW"/>
<sub name="Retrieving the selection" link="x1871.html"/>
<sub name="Supplying the selection" link="x1894.html"/>
</sub>
<sub name="Drag-and-drop (DND)" link="c1920.html">
<sub name="Overview" link="c1920.html#SEC-DRAGANDDROPOVERVIEW"/>
<sub name="Properties" link="x1942.html"/>
<sub name="Functions" link="x1960.html">
<sub name="Setting up the source widget" link="x1960.html#SEC-DNDSOURCEWIDGETS"/>
<sub name="Signals on the source widget:" link="x1960.html#SEC-SIGNALSONSOURCEWIDGETS"/>
<sub name="Setting up a destination widget:" link="x1960.html#SEC-DNDDESTWIDGETS"/>
<sub name="Signals on the destination widget:" link="x1960.html#SEC-SIGNALSONDESTWIDGETS"/>
</sub>
</sub>
<sub name="GLib" link="c2044.html">
<sub name="Definitions" link="c2044.html#SEC-DEFINITIONS"/>
<sub name="Doubly Linked Lists" link="x2056.html"/>
<sub name="Singly Linked Lists" link="x2076.html"/>
<sub name="Memory Management" link="x2080.html"/>
<sub name="Timers" link="x2097.html"/>
<sub name="String Handling" link="x2101.html"/>
<sub name="Utility and Error Functions" link="x2116.html"/>
</sub>
<sub name="GTK's rc Files" link="c2137.html">
<sub name="Functions For rc Files" link="c2137.html#SEC-FUNCTIONSFORRCFILES"/>
<sub name="GTK's rc File Format" link="x2157.html"/>
<sub name="Example rc file" link="x2198.html"/>
</sub>
<sub name="Writing Your Own Widgets" link="c2201.html">
<sub name="Overview" link="c2201.html#SEC-WIDGETSOVERVIEW"/>
<sub name="The Anatomy Of A Widget" link="x2210.html"/>
<sub name="Creating a Composite widget" link="x2221.html">
<sub name="Introduction" link="x2221.html#AEN2223"/>
<sub name="Choosing a parent class" link="x2221.html#AEN2234"/>
<sub name="The header file" link="x2221.html#AEN2237"/>
<sub name="The" link="x2221.html#AEN2314"/>
<sub name="_get_type()" link="x2221.html#AEN2249"/>
<sub name="function" link="x2221.html#AEN2314"/>
<sub name="The" link="x2221.html#AEN2314"/>
<sub name="_class_init()" link="x2221.html#AEN2261"/>
<sub name="function" link="x2221.html#AEN2314"/>
<sub name="The" link="x2221.html#AEN2314"/>
<sub name="_init()" link="x2221.html#AEN2314"/>
<sub name="function" link="x2221.html#AEN2314"/>
<sub name="And the rest..." link="x2221.html#AEN2319"/>
</sub>
<sub name="Creating a widget from scratch" link="x2331.html">
<sub name="Introduction" link="x2331.html#AEN2333"/>
<sub name="Displaying a widget on the screen" link="x2331.html#AEN2340"/>
<sub name="The origins of the Dial Widget" link="x2331.html#AEN2373"/>
<sub name="The Basics" link="x2331.html#AEN2377"/>
<sub name="gtk_dial_realize()" link="x2331.html#AEN2389"/>
<sub name="Size negotiation" link="x2331.html#AEN2398"/>
<sub name="gtk_dial_expose()" link="x2331.html#AEN2406"/>
<sub name="Event handling" link="x2331.html#AEN2412"/>
<sub name="Possible Enhancements" link="x2331.html#AEN2428"/>
</sub>
<sub name="Learning More" link="x2440.html"/>
</sub>
<sub name="Scribble, A Simple Example Drawing Program" link="c2443.html">
<sub name="Overview" link="c2443.html#SEC-SCRIBBLEOVERVIEW"/>
<sub name="Event Handling" link="x2452.html"/>
<sub name="The DrawingArea Widget, And Drawing" link="x2491.html"/>
<sub name="Adding XInput support" link="x2550.html">
<sub name="Enabling extended device information" link="x2550.html#AEN2578"/>
<sub name="Using extended device information" link="x2550.html#AEN2591"/>
<sub name="Finding out more about a device" link="x2550.html#AEN2609"/>
<sub name="Further sophistications" link="x2550.html#SEC-FURTHERSOPHISTICATIONS"/>
</sub>
</sub>
<sub name="Tips For Writing GTK Applications" link="c2636.html">
</sub>
<sub name="Contributing" link="c2641.html">
</sub>
<sub name="Credits" link="c2648.html">
</sub>
<sub name="Tutorial Copyright and Permissions Notice" link="c2710.html">
</sub>
<sub name="GTK Signals" link="a2719.html">
<sub name="GtkObject" link="a2719.html#SEC-GTKOBJECT"/>
<sub name="GtkWidget" link="x2725.html"/>
<sub name="GtkData" link="x2728.html"/>
<sub name="GtkContainer" link="x2731.html"/>
<sub name="GtkCalendar" link="x2734.html"/>
<sub name="GtkEditable" link="x2737.html"/>
<sub name="GtkNotebook" link="x2740.html"/>
<sub name="GtkList" link="x2743.html"/>
<sub name="GtkMenuShell" link="x2746.html"/>
<sub name="GtkToolbar" link="x2749.html"/>
<sub name="GtkButton" link="x2752.html"/>
<sub name="GtkItem" link="x2755.html"/>
<sub name="GtkWindow" link="x2758.html"/>
<sub name="GtkHandleBox" link="x2761.html"/>
<sub name="GtkToggleButton" link="x2764.html"/>
<sub name="GtkMenuItem" link="x2767.html"/>
<sub name="GtkCheckMenuItem" link="x2770.html"/>
<sub name="GtkInputDialog" link="x2773.html"/>
<sub name="GtkColorSelection" link="x2776.html"/>
<sub name="GtkStatusBar" link="x2779.html"/>
<sub name="GtkCurve" link="x2782.html"/>
<sub name="GtkAdjustment" link="x2785.html"/>
</sub>
<sub name="GDK Event Types" link="a2788.html">
</sub>
<sub name="Code Examples" link="a2922.html">
<sub name="Tictactoe" link="a2922.html#SEC-TICTACTOE">
<sub name="tictactoe.h" link="a2922.html#AEN2927"/>
<sub name="tictactoe.c" link="a2922.html#AEN2930"/>
<sub name="ttt_test.c" link="a2922.html#AEN2933"/>
</sub>
<sub name="GtkDial" link="x2936.html">
<sub name="gtkdial.h" link="x2936.html#AEN2938"/>
<sub name="gtkdial.c" link="x2936.html#AEN2941"/>
<sub name="dial_test.c" link="x2936.html#AEN2944"/>
</sub>
<sub name="Scribble" link="x2947.html">
<sub name="scribble-simple.c" link="x2947.html#AEN2949"/>
<sub name="scribble-xinput.c" link="x2947.html#AEN2952"/>
</sub>
</sub>
</chapters>
</book>

View File

@ -1 +0,0 @@
usr/lib/gtk-2.0/*/engines/*.so

View File

@ -1,2 +0,0 @@
usr/bin
usr/share

View File

@ -1 +0,0 @@
build-tree/gtk+-@VERSION@/examples/*

View File

@ -1,3 +0,0 @@
usr/bin/gtk-demo
usr/share/*/demo/*

View File

@ -1,19 +0,0 @@
#! /bin/sh
set -e
if [ -d /usr/share/doc/libgtk2.0-0 -a ! -L /usr/share/doc/libgtk2.0-0 ]; then
if rmdir /usr/share/doc/libgtk2.0-0; then
ln -sf libgtk2.0-common /usr/share/doc/libgtk2.0-0
else
echo "Warning: could not remove /usr/share/doc/libgtk2.0-0."
fi
fi
case "$1" in
configure)
/usr/lib/libgtk2.0-0/update-gtk-immodules
/usr/lib/libgtk2.0-0/update-gdkpixbuf-loaders
;;
esac
#DEBHELPER#

View File

@ -1,10 +0,0 @@
#! /bin/sh
set -e
case "$1" in
purge)
rm -rf /etc/gtk-2.0
;;
esac
#DEBHELPER#

View File

@ -1,3 +0,0 @@
usr/bin
usr/sbin
etc/gtk-2.0

View File

@ -1,4 +0,0 @@
usr/share/man/man1/gtk-query-immodules-2.0.1*
usr/share/man/man1/gdk-pixbuf-query-loaders.1*
etc/gtk-2.0/*
usr/share/man/man1/gtk-update-icon-cache.1*

View File

@ -1,49 +0,0 @@
#! /bin/sh
# postinst script for gtk+
#
# see: dh_installdeb(1)
set -e
# summary of how this script can be called:
# * <postinst> `configure' <most-recently-configured-version>
# * <old-postinst> `abort-upgrade' <new version>
# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
# <new-version>
# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
# <failed-install-package> <version> `removing'
# <conflicting-package> <version>
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package
#
# quoting from the policy:
# Any necessary prompting should almost always be confined to the
# post-installation script, and should be protected with a conditional
# so that unnecessary prompting doesn't happen if a package's
# installation fails and the `postinst' is called with `abort-upgrade',
# `abort-remove' or `abort-deconfigure'.
case "$1" in
configure)
/usr/sbin/update-gtk-immodules
/usr/sbin/update-gdkpixbuf-loaders
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 1
;;
esac
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
#DEBHELPER#
exit 0

View File

@ -1,41 +0,0 @@
#! /bin/sh
# postrm script for gtk+
#
# see: dh_installdeb(1)
set -e
# summary of how this script can be called:
# * <postrm> `remove'
# * <postrm> `purge'
# * <old-postrm> `upgrade' <new-version>
# * <new-postrm> `failed-upgrade' <old-version>
# * <new-postrm> `abort-install'
# * <new-postrm> `abort-install' <old-version>
# * <new-postrm> `abort-upgrade' <old-version>
# * <disappearer's-postrm> `disappear' <r>overwrit>r> <new-version>
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package
case "$1" in
purge)
rm -rf /etc/gtk-2.0
;;
remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
;;
*)
echo "postrm called with unknown argument \`$1'" >&2
exit 1
esac
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
#DEBHELPER#
exit 0

View File

@ -1,2 +0,0 @@
usr/share/locale
usr/share/themes

View File

@ -1,2 +0,0 @@
/usr/share/locale/*
/usr/share/themes/*

View File

@ -1,8 +0,0 @@
#! /bin/sh
set -e
if [ -L /usr/share/doc/libgtk2.0-common ]; then
rm -f /usr/share/doc/libgtk2.0-common
fi
#DEBHELPER#

View File

@ -1,5 +0,0 @@
usr/bin
usr/include
usr/lib
usr/lib/pkgconfig
usr/share/aclocal

View File

@ -1,10 +0,0 @@
usr/bin/gdk-pixbuf-csource
usr/include/*
usr/lib/lib*.{so,la,a}
usr/lib/pkgconfig/*.pc
usr/lib/*/*/engines/*{la,a}
usr/lib/*/*/loaders/*{la,a}
usr/lib/*/*/immodules/*{la,a}
usr/lib/*/include/*.h
usr/share/aclocal/*
usr/share/man/man1/gdk-pixbuf-csource.1*

View File

@ -1,2 +0,0 @@
usr/share/doc/libgtk2.0-doc
usr/share/gtk-doc

View File

@ -1,12 +0,0 @@
Document: gdk-pixbuf
Title: GDK-pixbuf Reference Manual
Author: Federico Mena Quintero
Abstract: The GDK-pixbuf library is used to manipulate images and
other image-like objects, similar to the imlib library. GDK and
GTK+ use it for image storage and manipulation. This document
covers programming using this library.
Section: Programming/C
Format: HTML
Index: /usr/share/doc/libgtk2.0-doc/gdk-pixbuf/index.html
Files: /usr/share/doc/libgtk2.0-doc/gdk-pixbuf/*.html

View File

@ -1,11 +0,0 @@
Document: gtk
Title: GTK+ Reference Manual
Author: Damon Chaplin et al.
Abstract: The GTK+ library provides a graphical user interface for
C programs, and is used in projects such as GIMP, Gnome, and Mozilla.
This document covers programming using the GTK+ library.
Section: Apps/Programming
Format: HTML
Index: /usr/share/doc/libgtk2.0-doc/gtk/index.html
Files: /usr/share/doc/libgtk2.0-doc/gtk/*.html

View File

@ -1,18 +0,0 @@
Document: gtk2-tutorial
Title: GTK+2.0 Tutorial
Author: Tony Gale and Ian Main
Abstract: GTK (GIMP Toolkit) is a library for creating graphical user
interfaces. It is licensed using the LGPL license, so you can develop
open software, free software, or even commercial non-free software
using GTK without having to spend anything for licenses or royalties.
.
This tutorial is an attempt to document as much as possible of GTK,
but it is by no means complete. This tutorial assumes a good
understanding of C, and how to create C programs. It would be a great
benefit for the reader to have previous X programming experience, but
it shouldn't be necessary.
Section: Apps/Programming
Format: HTML
Index: /usr/share/doc/libgtk2.0-doc/gtk-tutorial/book1.html
Files: /usr/share/doc/libgtk2.0-doc/gtk-tutorial/*.html

View File

@ -1 +0,0 @@
usr/share/doc/libgtk2.0-doc/*

View File

@ -1,17 +0,0 @@
diff -ruN gtk+-2.2.0.orig/modules/input/Makefile.am gtk+-2.2.0/modules/input/Makefile.am
--- gtk+-2.2.0.orig/modules/input/Makefile.am 2003-01-06 23:40:37.000000000 +0900
+++ gtk+-2.2.0/modules/input/Makefile.am 2003-01-06 23:46:35.000000000 +0900
@@ -118,7 +118,12 @@
im-viqr.la
gtk.immodules: Makefile.am $(module_LTLIBRARIES)
- $(top_builddir)/gtk/gtk-query-immodules-2.0 $(module_LTLIBRARIES) > gtk.immodules
+ @if $(RUN_QUERY_IMMODULES_TEST) ; then \
+ $(top_builddir)/gtk/gtk-query-immodules-2.0 $(module_LTLIBRARIES) > gtk.immodules ; \
+ else \
+ touch $@ ; \
+ fi
+
CLEANFILES = gtk.immodules

View File

@ -1,12 +0,0 @@
diff -Nur gtk+-2.8.13.orig/gtk/gtkicontheme.c gtk+-2.8.13/gtk/gtkicontheme.c
--- gtk+-2.8.13.orig/gtk/gtkicontheme.c 2006-02-13 03:33:31.000000000 +0100
+++ gtk+-2.8.13/gtk/gtkicontheme.c 2006-02-26 00:09:20.000000000 +0100
@@ -421,6 +421,8 @@
"gtk-fallback-icon-theme", &fallback_theme, NULL);
}
+ if (!fallback_theme)
+ fallback_theme = g_strdup ("gnome");
if (!theme)
theme = g_strdup (DEFAULT_THEME_NAME);

View File

@ -1,19 +0,0 @@
Index: gtk+2.0-2.11.2/gdk-pixbuf/io-ico.c
===================================================================
--- gtk+2.0-2.11.2.orig/gdk-pixbuf/io-ico.c 2007-06-06 13:43:15.000000000 +0200
+++ gtk+2.0-2.11.2/gdk-pixbuf/io-ico.c 2007-06-13 11:07:11.000000000 +0200
@@ -208,6 +208,14 @@
State->HeaderSize = 6 + IconCount*16;
+ if (State->HeaderSize < 0) {
+ g_set_error (error,
+ GDK_PIXBUF_ERROR,
+ GDK_PIXBUF_ERROR_CORRUPT_IMAGE,
+ _("Invalid header in icon"));
+ return;
+ }
+
if (State->HeaderSize>State->BytesInHeaderBuf) {
guchar *tmp=g_try_realloc(State->HeaderBuf,State->HeaderSize);
if (!tmp) {

File diff suppressed because it is too large Load Diff

View File

@ -1,36 +0,0 @@
From 0fff51eab6427ca4d0ab679c1d994a2a36898a7d Mon Sep 17 00:00:00 2001
From: Matthias Clasen <mclasen@redhat.com>
Date: Sat, 20 Mar 2010 03:20:38 +0000
Subject: Avoid spurious notifications from GtkEntry
Using gtk_entry_set_buffer() in dispose() causes problematic
notifications, so just get rid of the buffer manually. See bug 613241.
(cherry picked from commit 5f29a679f8a31b6548f34179d65a39de9ec63535)
---
diff --git a/gtk/gtkentry.c b/gtk/gtkentry.c
index 4344449..0dafcf7 100644
--- a/gtk/gtkentry.c
+++ b/gtk/gtkentry.c
@@ -2425,12 +2425,19 @@ static void
gtk_entry_dispose (GObject *object)
{
GtkEntry *entry = GTK_ENTRY (object);
+ GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (entry);
gtk_entry_set_icon_from_pixbuf (entry, GTK_ENTRY_ICON_PRIMARY, NULL);
gtk_entry_set_icon_tooltip_markup (entry, GTK_ENTRY_ICON_PRIMARY, NULL);
gtk_entry_set_icon_from_pixbuf (entry, GTK_ENTRY_ICON_SECONDARY, NULL);
gtk_entry_set_icon_tooltip_markup (entry, GTK_ENTRY_ICON_SECONDARY, NULL);
- gtk_entry_set_buffer (entry, NULL);
+
+ if (priv->buffer)
+ {
+ buffer_disconnect_signals (entry);
+ g_object_unref (priv->buffer);
+ priv->buffer = NULL;
+ }
G_OBJECT_CLASS (gtk_entry_parent_class)->dispose (object);
}
--
cgit v0.8.3.1

View File

@ -1,36 +0,0 @@
GNOME #447118; related to Debian #381081
Index: gtk+-2.12.1/configure.in
===================================================================
--- gtk+-2.12.1.orig/configure.in 2007-11-18 00:52:41.125989789 +0100
+++ gtk+-2.12.1/configure.in 2007-11-18 00:53:48.389822936 +0100
@@ -1404,8 +1404,18 @@ if test "x$gdktarget" = "xdirectfb"; the
if $PKG_CONFIG --atleast-version $DIRECTFB_REQUIRED_VERSION directfb && $PKG_CONFIG --exists cairo-directfb ; then
AC_MSG_RESULT(found)
- GDK_EXTRA_CFLAGS="`$PKG_CONFIG --cflags cairo-directfb` $GDK_EXTRA_CFLAGS"
- GDK_EXTRA_LIBS="`$PKG_CONFIG --libs cairo-directfb` $GDK_EXTRA_LIBS"
+ # prepend cairo-directfb so that cairo-directfb's CFLAGS appear before
+ # cairo's if both are available (cairo is required by pango); this is
+ # enough to build gdk/
+ GDK_PACKAGES="cairo-directfb directfb $GDK_PACKAGES"
+ # you'd think this isn't needed, but as soon as cairo-directfb or
+ # directfb requires a "rpath" and you want to build binaries (for
+ # example gtk-query-immodules), you need the CFLAGS and LDFLAGS
+ # everywhere; this trick abuses the fact that GTK_DEP_LIBS and
+ # GTK_DEP_CFLAGS include the GDK_EXTRA_LIBS and _FLAGS to pull the
+ # necessary rpath flags
+ GDK_EXTRA_CFLAGS="`$PKG_CONFIG --cflags cairo-directfb directfb`"
+ GDK_EXTRA_LIBS="`$PKG_CONFIG --libs cairo-directfb directfb` $GDK_EXTRA_LIBS"
else
AC_MSG_ERROR([
*** DirectFB $DIRECTFB_REQUIRED_VERSION or newer and the cairo backend
@@ -1457,7 +1467,7 @@ fi
CFLAGS="$saved_cflags"
LDFLAGS="$saved_ldflags"
-GDK_PACKAGES="$PANGO_PACKAGES"
+GDK_PACKAGES="$GDK_PACKAGES $PANGO_PACKAGES"
if test "x$gdktarget" = "xx11"; then
GDK_PRIVATE_PACKAGES="$X_PACKAGES"
fi

View File

@ -1,14 +0,0 @@
Debian #381081; GNOME #447118
Index: gtk+2.0-2.10.10/gdk/directfb/gdkdrawable-directfb.c
===================================================================
--- gtk+2.0-2.10.10.orig/gdk/directfb/gdkdrawable-directfb.c 2007-03-12 15:06:54.000000000 +0100
+++ gtk+2.0-2.10.10/gdk/directfb/gdkdrawable-directfb.c 2007-03-13 14:10:23.000000000 +0100
@@ -45,6 +45,7 @@
#include "gdkregion-generic.h"
#include "gdkalias.h"
+#include <cairo.h>
#include "cairo-directfb.h"
#define WARN_UNIMPLEMENTED(func)\

View File

@ -1,14 +0,0 @@
GNOME #447163; Debian 381082
Index: gtk+2.0-2.11.3/gdk/directfb/gdkgc-directfb.c
===================================================================
--- gtk+2.0-2.11.3.orig/gdk/directfb/gdkgc-directfb.c 2007-06-15 20:08:17.000000000 +0200
+++ gtk+2.0-2.11.3/gdk/directfb/gdkgc-directfb.c 2007-06-16 14:25:00.000000000 +0200
@@ -33,6 +33,7 @@
#undef GDK_DISABLE_DEPRECATED
#include <config.h>
+#undef GDK_DISABLE_DEPRECATED
#include "gdk.h"
#include <string.h>

View File

@ -1,74 +0,0 @@
--- gtk+-2.8.20-dfb/gdk/directfb/gdkdrawable-directfb.c.orig 2006-09-10 17:07:48.000000000 +0200
+++ gtk+-2.8.20-dfb/gdk/directfb/gdkdrawable-directfb.c 2006-09-10 17:16:32.000000000 +0200
@@ -428,7 +428,7 @@
for (i = 0; i < clip->numRects; i++)
{
DFBRegion reg = { clip->rects[i].x1, clip->rects[i].y1,
- clip->rects[i].x2, clip->rects[i].y2 };
+ clip->rects[i].x2 - 1, clip->rects[i].y2 - 1 };
impl->surface->SetClip (impl->surface, &reg);
impl->surface->TileBlit (impl->surface, surface, NULL, x, y);
@@ -457,7 +457,7 @@
else
{
- DFBRegion region = { x, y, x + width+1, y + height+1 };
+ DFBRegion region = { x, y, x + width, y + height };
impl->surface->SetClip (impl->surface, &region);
/* DirectFB does not draw rectangles the X way. Using DirectFB,
@@ -518,7 +518,7 @@
for (i = 0; i < clip->numRects; i++)
{
DFBRegion reg = { clip->rects[i].x1, clip->rects[i].y1,
- clip->rects[i].x2 , clip->rects[i].y2 };
+ clip->rects[i].x2 - 1, clip->rects[i].y2 - 1 };
impl->surface->SetClip (impl->surface, &reg);
impl->surface->FillTriangle (impl->surface,
@@ -624,7 +624,7 @@
for (i = 0; i < clip->numRects; i++)
{
DFBRegion reg = { clip->rects[i].x1, clip->rects[i].y1,
- clip->rects[i].x2 , clip->rects[i].y2 };
+ clip->rects[i].x2 - 1, clip->rects[i].y2 - 1 };
impl->surface->SetClip (impl->surface, &reg);
impl->surface->Blit (impl->surface, src_impl->surface, &rect,
@@ -708,7 +708,7 @@
for (i = 0; i < clip->numRects; i++)
{
DFBRegion reg = { clip->rects[i].x1, clip->rects[i].y1,
- clip->rects[i].x2, clip->rects[i].y2 };
+ clip->rects[i].x2 - 1, clip->rects[i].y2 - 1 };
impl->surface->SetClip (impl->surface, &reg);
@@ -819,7 +819,7 @@
for (i = 0; i < clip->numRects; i++)
{
DFBRegion reg = { clip->rects[i].x1, clip->rects[i].y1,
- clip->rects[i].x2, clip->rects[i].y2 };
+ clip->rects[i].x2 - 1, clip->rects[i].y2 - 1 };
impl->surface->SetClip (impl->surface, &reg);
impl->surface->DrawLines (impl->surface, lines, npoints - 1);
@@ -871,7 +871,7 @@
for (i = 0; i < clip->numRects; i++)
{
DFBRegion reg = { clip->rects[i].x1, clip->rects[i].y1,
- clip->rects[i].x2 , clip->rects[i].y2 };
+ clip->rects[i].x2 - 1 , clip->rects[i].y2 - 1 };
impl->surface->SetClip (impl->surface, &reg);
impl->surface->Blit (impl->surface,
@@ -1037,7 +1037,7 @@
GdkRegion *region)
{
DFBRegion reg = { region->extents.x1, region->extents.y1,
- region->extents.x2 , region->extents.y2 };
+ region->extents.x2 - 1 , region->extents.y2 - 1 };
_gdk_directfb_update (impl, &reg);
}

View File

@ -1,13 +0,0 @@
Index: b/configure.in
===================================================================
--- a/configure.in 2010-04-10 14:52:08.109945409 +0200
+++ b/configure.in 2010-04-10 14:52:09.177943468 +0200
@@ -1806,7 +1806,7 @@
CAIRO_PREFIX="`pkg-config --variable=prefix cairo`"
if test $enable_explicit_deps != yes ; then
- GDK_PIXBUF_EXTRA_LIBS=
+ GDK_PIXBUF_EXTRA_LIBS="$MATH_LIB"
fi
AC_SUBST(GDK_PIXBUF_PACKAGES)

View File

@ -1,14 +0,0 @@
diff -Nurp gtk+-2.8.6/gdk-pixbuf/io-xpm.c gtk+-2.8.6.new/gdk-pixbuf/io-xpm.c
--- gtk+-2.8.6/gdk-pixbuf/io-xpm.c 2005-03-08 03:59:45.000000000 +0000
+++ gtk+-2.8.6.new/gdk-pixbuf/io-xpm.c 2005-11-16 09:40:45.000000000 +0000
@@ -500,7 +500,9 @@ pixbuf_create_from_xpm (const gchar * (*
_("XPM has invalid number of chars per pixel"));
return NULL;
}
- if (n_col <= 0 || n_col >= G_MAXINT / (cpp + 1)) {
+ if (n_col <= 0 ||
+ n_col >= G_MAXINT / (cpp + 1) ||
+ n_col >= G_MAXINT / sizeof (XPMColor)) {
g_set_error (error,
GDK_PIXBUF_ERROR,
GDK_PIXBUF_ERROR_CORRUPT_IMAGE,

View File

@ -1,13 +0,0 @@
diff -Nurp gtk+-2.8.6/gdk-pixbuf/io-xpm.c gtk+-2.8.6.new/gdk-pixbuf/io-xpm.c
--- gtk+-2.8.6/gdk-pixbuf/io-xpm.c 2005-11-16 09:52:14.000000000 +0000
+++ gtk+-2.8.6.new/gdk-pixbuf/io-xpm.c 2005-11-16 09:58:23.000000000 +0000
@@ -405,7 +405,8 @@ file_buffer (enum buf_op op, gpointer ha
/* Fall through to the xpm_read_string. */
case op_body:
- xpm_read_string (h->infile, &h->buffer, &h->buffer_size);
+ if(!xpm_read_string (h->infile, &h->buffer, &h->buffer_size))
+ return NULL;
return h->buffer;
default:

File diff suppressed because it is too large Load Diff

View File

@ -1,133 +0,0 @@
Index: b/gtk/gtkimmodule.c
===================================================================
--- a/gtk/gtkimmodule.c 2010-04-10 14:52:04.229942828 +0200
+++ b/gtk/gtkimmodule.c 2010-04-10 14:52:09.765946296 +0200
@@ -70,6 +70,9 @@
#define GTK_IM_MODULE(im_module) (G_TYPE_CHECK_INSTANCE_CAST ((im_module), GTK_TYPE_IM_MODULE, GtkIMModule))
#define GTK_IS_IM_MODULE(im_module) (G_TYPE_CHECK_INSTANCE_TYPE ((im_module), GTK_TYPE_IM_MODULE))
+#define IMMODULEFILEEXT ".immodules"
+#define IMMODULEFILEEXT_LEN ((int) strlen (IMMODULEFILEEXT))
+
struct _GtkIMModule
{
GTypeModule parent_instance;
@@ -310,19 +313,15 @@
}
static void
-gtk_im_module_initialize (void)
+process_module_file (const gchar *filename, FILE *file)
{
GString *line_buf = g_string_new (NULL);
GString *tmp_buf = g_string_new (NULL);
- gchar *filename = gtk_rc_get_im_module_file();
- FILE *file;
gboolean have_error = FALSE;
GtkIMModule *module = NULL;
GSList *infos = NULL;
- contexts_hash = g_hash_table_new (g_str_hash, g_str_equal);
-
#define do_builtin(m) \
{ \
const GtkIMContextInfo **contexts; \
@@ -380,18 +379,6 @@
#undef do_builtin
- file = g_fopen (filename, "r");
- if (!file)
- {
- /* In case someone wants only the default input method,
- * we allow no file at all.
- */
- g_string_free (line_buf, TRUE);
- g_string_free (tmp_buf, TRUE);
- g_free (filename);
- return;
- }
-
while (!have_error && pango_read_line (file, line_buf))
{
const char *p;
@@ -489,10 +476,76 @@
else if (module)
add_module (module, infos);
- fclose (file);
g_string_free (line_buf, TRUE);
g_string_free (tmp_buf, TRUE);
- g_free (filename);
+}
+
+static void
+gtk_im_module_initialize (void)
+{
+ gchar *im_module_file_str = gtk_rc_get_im_module_file();
+ gchar *im_module_files_d_str = g_build_filename (GTK_LIBDIR,
+ "gtk-2.0",
+ GTK_BINARY_VERSION,
+ "immodule-files.d",
+ NULL);
+ FILE *file;
+ gchar *list_str;
+ char **files;
+ int n;
+
+ list_str = g_strjoin (G_SEARCHPATH_SEPARATOR_S,
+ im_module_files_d_str,
+ im_module_file_str,
+ NULL);
+
+ files = pango_split_file_list (list_str);
+
+ contexts_hash = g_hash_table_new (g_str_hash, g_str_equal);
+
+ n = 0;
+ while (files[n])
+ n++;
+
+ while (n-- > 0)
+ {
+ GDir *dir = g_dir_open (files[n], 0, NULL);
+ if (dir)
+ {
+ const char *dent;
+
+ while ((dent = g_dir_read_name (dir)))
+ {
+ int len = strlen (dent);
+ if (len > IMMODULEFILEEXT_LEN && strcmp (dent + len - IMMODULEFILEEXT_LEN, IMMODULEFILEEXT) == 0)
+ {
+ gchar *pathname = g_build_filename (files[n], dent, NULL);
+ file = g_fopen (pathname, "r");
+ if (file)
+ {
+ process_module_file(pathname, file);
+ fclose(file);
+ }
+ g_free (pathname);
+ }
+ }
+ g_dir_close (dir);
+ }
+ else
+ {
+ file = g_fopen (files[n], "r");
+ if (file)
+ {
+ process_module_file(files[n], file);
+ fclose (file);
+ }
+ }
+ }
+
+ g_strfreev (files);
+ g_free (list_str);
+ g_free (im_module_files_d_str);
+ g_free (im_module_file_str);
}
static gint

View File

@ -1,392 +0,0 @@
Index: b/gdk-pixbuf/Makefile.am
===================================================================
--- a/gdk-pixbuf/Makefile.am 2010-04-10 14:52:04.113943135 +0200
+++ b/gdk-pixbuf/Makefile.am 2010-04-10 14:52:10.065944562 +0200
@@ -65,6 +65,7 @@
libgdk_pixbuf-2.0.la
loaderdir = $(libdir)/gtk-2.0/$(GTK_BINARY_VERSION)/loaders
+loaderfilesdir = $(libdir)/gtk-2.0/$(GTK_BINARY_VERSION)/loader-files.d
module_libs = libgdk_pixbuf-$(GTK_API_VERSION).la $(GDK_PIXBUF_DEP_LIBS)
@@ -532,7 +533,7 @@
$(GDK_PIXBUF_DEP_CFLAGS) \
-DGDK_PIXBUF_ENABLE_BACKEND
-AM_CPPFLAGS = "-DPIXBUF_LIBDIR=\"$(loaderdir)\"" "-DBUILT_MODULES_DIR=\"$(srcdir)/.libs\""
+AM_CPPFLAGS = "-DPIXBUF_LIBDIR=\"$(loaderdir)\"" "-DPIXBUF_FILES_LIBDIR=\"$(loaderfilesdir)\"" "-DBUILT_MODULES_DIR=\"$(srcdir)/.libs\""
LDADDS = libgdk_pixbuf-$(GTK_API_VERSION).la $(GDK_PIXBUF_DEP_LIBS)
noinst_PROGRAMS = test-gdk-pixbuf
Index: b/gdk-pixbuf/gdk-pixbuf-io.c
===================================================================
--- a/gdk-pixbuf/gdk-pixbuf-io.c 2010-04-10 14:52:04.137946193 +0200
+++ b/gdk-pixbuf/gdk-pixbuf-io.c 2010-04-10 14:52:10.065944562 +0200
@@ -51,6 +51,9 @@
#define SNIFF_BUFFER_SIZE 4096
#define LOAD_BUFFER_SIZE 65536
+#define LOADERFILEEXT ".loaders"
+#define LOADERFILEEXT_LEN ((int) strlen (LOADERFILEEXT))
+
#ifndef GDK_PIXBUF_USE_GIO_MIME
static gint
format_check (GdkPixbufModule *module, guchar *buffer, int size)
@@ -317,118 +320,93 @@
gdk_pixbuf_load_module_unlocked (GdkPixbufModule *image_module,
GError **error);
+/* FIXME this is a static copy of a public pango function which should really
+ * livein glib */
+static char *
+_ugly_copy_of_pango_trim_string (const char *str)
+{
+ int len;
+
+ g_return_val_if_fail (str != NULL, NULL);
+
+ while (*str && g_ascii_isspace (*str))
+ str++;
+
+ len = strlen (str);
+ while (len > 0 && g_ascii_isspace (str[len-1]))
+ len--;
+
+ return g_strndup (str, len);
+}
+
+/* FIXME this is a static copy of a public pango function which should really
+ * livein glib */
+char **
+_ugly_copy_of_pango_split_file_list (const char *str)
+{
+ int i = 0;
+ int j;
+ char **files;
+
+ files = g_strsplit (str, G_SEARCHPATH_SEPARATOR_S, -1);
+
+ while (files[i])
+ {
+ char *file = _ugly_copy_of_pango_trim_string (files[i]);
+
+ /* If the resulting file is empty, skip it */
+ if (file[0] == '\0')
+ {
+ g_free(file);
+ g_free (files[i]);
+
+ for (j = i + 1; files[j]; j++)
+ files[j - 1] = files[j];
+
+ files[j - 1] = NULL;
+
+ continue;
+ }
+#ifndef G_OS_WIN32
+ /* '~' is a quite normal and common character in file names on
+ * Windows, especially in the 8.3 versions of long file names, which
+ * still occur now and then. Also, few Windows user are aware of the
+ * Unix shell convention that '~' stands for the home directory,
+ * even if they happen to have a home directory.
+ */
+ if (file[0] == '~' && file[1] == G_DIR_SEPARATOR)
+ {
+ char *tmp = g_strconcat (g_get_home_dir(), file + 1, NULL);
+ g_free (file);
+ file = tmp;
+ }
+ else if (file[0] == '~' && file[1] == '\0')
+ {
+ g_free (file);
+ file = g_strdup (g_get_home_dir());
+ }
+#endif
+ g_free (files[i]);
+ files[i] = file;
+
+ i++;
+ }
+
+ return files;
+}
+
static void
-gdk_pixbuf_io_init (void)
+process_module_file (const gchar *filename, GIOChannel *channel)
{
#ifdef USE_GMODULE
- GIOChannel *channel;
gchar *line_buf;
gsize term;
GString *tmp_buf = g_string_new (NULL);
gboolean have_error = FALSE;
GdkPixbufModule *module = NULL;
- gchar *filename = gdk_pixbuf_get_module_file ();
int flags;
int n_patterns = 0;
GdkPixbufModulePattern *pattern;
- GError *error = NULL;
-#endif
- GdkPixbufModule *builtin_module ;
-
- /* initialize on separate line to avoid compiler warnings in the
- * common case of no compiled-in modules.
- */
- builtin_module = NULL;
-
-#define load_one_builtin_module(format) \
- builtin_module = g_new0 (GdkPixbufModule, 1); \
- builtin_module->module_name = #format; \
- if (gdk_pixbuf_load_module_unlocked (builtin_module, NULL)) \
- file_formats = g_slist_prepend (file_formats, builtin_module);\
- else \
- g_free (builtin_module)
-
-#ifdef INCLUDE_ani
- load_one_builtin_module (ani);
-#endif
-#ifdef INCLUDE_png
- load_one_builtin_module (png);
-#endif
-#ifdef INCLUDE_bmp
- load_one_builtin_module (bmp);
-#endif
-#ifdef INCLUDE_wbmp
- load_one_builtin_module (wbmp);
-#endif
-#ifdef INCLUDE_gif
- load_one_builtin_module (gif);
-#endif
-#ifdef INCLUDE_ico
- load_one_builtin_module (ico);
-#endif
-#ifdef INCLUDE_jpeg
- load_one_builtin_module (jpeg);
-#endif
-#ifdef INCLUDE_pnm
- load_one_builtin_module (pnm);
-#endif
-#ifdef INCLUDE_ras
- load_one_builtin_module (ras);
-#endif
-#ifdef INCLUDE_tiff
- load_one_builtin_module (tiff);
-#endif
-#ifdef INCLUDE_xpm
- load_one_builtin_module (xpm);
-#endif
-#ifdef INCLUDE_xbm
- load_one_builtin_module (xbm);
-#endif
-#ifdef INCLUDE_tga
- load_one_builtin_module (tga);
-#endif
-#ifdef INCLUDE_pcx
- load_one_builtin_module (pcx);
-#endif
-#ifdef INCLUDE_icns
- load_one_builtin_module (icns);
-#endif
-#ifdef INCLUDE_jasper
- load_one_builtin_module (jasper);
-#endif
-#ifdef INCLUDE_qtif
- load_one_builtin_module (qtif);
-#endif
-#ifdef INCLUDE_gdiplus
- /* We don't bother having the GDI+ loaders individually selectable
- * for building in or not.
- */
- load_one_builtin_module (ico);
- load_one_builtin_module (wmf);
- load_one_builtin_module (emf);
- load_one_builtin_module (bmp);
- load_one_builtin_module (gif);
- load_one_builtin_module (jpeg);
- load_one_builtin_module (tiff);
-#endif
-#ifdef INCLUDE_gdip_png
- /* Except the gdip-png loader which normally isn't built at all even */
- load_one_builtin_module (png);
-#endif
-
-#undef load_one_builtin_module
-
-#ifdef USE_GMODULE
- channel = g_io_channel_new_file (filename, "r", &error);
- if (!channel) {
- /* Don't bother warning if we have some built-in loaders */
- if (file_formats == NULL)
- g_warning ("Cannot open pixbuf loader module file '%s': %s",
- filename, error->message);
- g_string_free (tmp_buf, TRUE);
- g_free (filename);
- return;
- }
while (!have_error && g_io_channel_read_line (channel, &line_buf, NULL, &term, NULL) == G_IO_STATUS_NORMAL) {
const char *p;
@@ -566,8 +544,159 @@
g_free (line_buf);
}
g_string_free (tmp_buf, TRUE);
- g_io_channel_unref (channel);
- g_free (filename);
+#endif /* USE_GMODULE */
+}
+
+
+static void
+gdk_pixbuf_io_init (void)
+{
+#ifdef USE_GMODULE
+ GIOChannel *channel;
+ gchar *gdkpixbuf_module_file_str = gdk_pixbuf_get_module_file ();
+ gchar *list_str;
+ char **files;
+ GError *error = NULL;
+ int n;
+#endif
+ GdkPixbufModule *builtin_module = NULL;
+
+#define load_one_builtin_module(format) \
+ builtin_module = g_new0 (GdkPixbufModule, 1); \
+ builtin_module->module_name = #format; \
+ if (gdk_pixbuf_load_module_unlocked (builtin_module, NULL)) \
+ file_formats = g_slist_prepend (file_formats, builtin_module);\
+ else \
+ g_free (builtin_module)
+
+#ifdef INCLUDE_ani
+ load_one_builtin_module (ani);
+#endif
+#ifdef INCLUDE_png
+ load_one_builtin_module (png);
+#endif
+#ifdef INCLUDE_bmp
+ load_one_builtin_module (bmp);
+#endif
+#ifdef INCLUDE_wbmp
+ load_one_builtin_module (wbmp);
+#endif
+#ifdef INCLUDE_gif
+ load_one_builtin_module (gif);
+#endif
+#ifdef INCLUDE_ico
+ load_one_builtin_module (ico);
+#endif
+#ifdef INCLUDE_jpeg
+ load_one_builtin_module (jpeg);
+#endif
+#ifdef INCLUDE_pnm
+ load_one_builtin_module (pnm);
+#endif
+#ifdef INCLUDE_ras
+ load_one_builtin_module (ras);
+#endif
+#ifdef INCLUDE_tiff
+ load_one_builtin_module (tiff);
+#endif
+#ifdef INCLUDE_xpm
+ load_one_builtin_module (xpm);
+#endif
+#ifdef INCLUDE_xbm
+ load_one_builtin_module (xbm);
+#endif
+#ifdef INCLUDE_tga
+ load_one_builtin_module (tga);
+#endif
+#ifdef INCLUDE_pcx
+ load_one_builtin_module (pcx);
+#endif
+#ifdef INCLUDE_icns
+ load_one_builtin_module (icns);
+#endif
+#ifdef INCLUDE_jasper
+ load_one_builtin_module (jasper);
+#endif
+#ifdef INCLUDE_qtif
+ load_one_builtin_module (qtif);
+#endif
+#ifdef INCLUDE_gdiplus
+ /* We don't bother having the GDI+ loaders individually selectable
+ * for building in or not.
+ */
+ load_one_builtin_module (ico);
+ load_one_builtin_module (wmf);
+ load_one_builtin_module (emf);
+ load_one_builtin_module (bmp);
+ load_one_builtin_module (gif);
+ load_one_builtin_module (jpeg);
+ load_one_builtin_module (tiff);
+#endif
+#ifdef INCLUDE_gdip_png
+ /* Except the gdip-png loader which normally isn't built at all even */
+ load_one_builtin_module (png);
+#endif
+
+#undef load_one_builtin_module
+
+#ifdef USE_GMODULE
+ list_str = g_strjoin (G_SEARCHPATH_SEPARATOR_S,
+ gdkpixbuf_module_file_str,
+ PIXBUF_FILES_LIBDIR,
+ NULL);
+
+ files = _ugly_copy_of_pango_split_file_list (list_str);
+
+ n = 0;
+ while (files[n])
+ n++;
+
+ while (n-- > 0) {
+ GDir *dir = g_dir_open (files[n], 0, NULL);
+ if (dir) {
+ const char *dent;
+
+ while ((dent = g_dir_read_name (dir))) {
+ int len = strlen (dent);
+ if (len > LOADERFILEEXT_LEN && strcmp (dent + len - LOADERFILEEXT_LEN, LOADERFILEEXT) == 0) {
+ gchar *pathname = g_build_filename (files[n], dent, NULL);
+ channel = g_io_channel_new_file (pathname, "r", &error);
+ if (!channel) {
+ /* we don't care about issuing a warning
+ * g_warning ("Cannot open pixbuf loader module file '%s': %s",
+ * pathname,
+ * error->message);
+ */
+ g_error_free (error);
+ error = NULL;
+ } else {
+ process_module_file (pathname, channel);
+ g_io_channel_unref (channel);
+ }
+ g_free (pathname);
+ }
+ }
+ g_dir_close (dir);
+ } else {
+ channel = g_io_channel_new_file (files[n], "r", &error);
+ if (!channel) {
+ /* we don't care about issuing a warning
+ * g_warning ("Cannot open pixbuf loader module file '%s': %s",
+ * files[n],
+ * error->message);
+ */
+ g_error_free (error);
+ error = NULL;
+ } else {
+ process_module_file (files[n], channel);
+ g_io_channel_unref (channel);
+ }
+ }
+ }
+
+ g_strfreev (files);
+ g_free (list_str);
+ g_free (gdkpixbuf_module_file_str);
#endif
}

View File

@ -1,108 +0,0 @@
Index: b/gtk/gtkimmodule.c
===================================================================
--- a/gtk/gtkimmodule.c 2010-04-10 14:52:09.765946296 +0200
+++ b/gtk/gtkimmodule.c 2010-04-10 14:52:10.681942580 +0200
@@ -29,6 +29,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include <unistd.h>
#include <glib/gstdio.h>
#include <gmodule.h>
@@ -489,10 +490,32 @@
GTK_BINARY_VERSION,
"immodule-files.d",
NULL);
+
+#if defined(__linux__) && defined (__i386__)
+ gchar *compat_im_module_files_d_str = g_build_filename ("/usr/lib32/gtk-2.0",
+ GTK_BINARY_VERSION,
+ "immodule-files.d",
+ NULL);
+#elif defined(__linux__) && ( defined (__x86_64__) || defined(__ia64__) )
+ gchar *compat_im_module_files_d_str = g_build_filename ("/usr/lib64/gtk-2.0",
+ GTK_BINARY_VERSION,
+ "immodule-files.d",
+ NULL);
+#endif
FILE *file;
gchar *list_str;
char **files;
int n;
+#if defined(__linux__) && ( defined(__i386__) || defined (__x86_64__) || defined(__ia64__) )
+ /* prefer compat_im_module_files_d_str over im_module_files_d_str on the
+ * above arches if it's usable */
+ if (! g_access(compat_im_module_files_d_str, R_OK|X_OK))
+ list_str = g_strjoin (G_SEARCHPATH_SEPARATOR_S,
+ compat_im_module_files_d_str,
+ im_module_file_str,
+ NULL);
+ else /* continued below */
+#endif
list_str = g_strjoin (G_SEARCHPATH_SEPARATOR_S,
im_module_files_d_str,
@@ -544,6 +567,9 @@
g_strfreev (files);
g_free (list_str);
+#if defined(__linux__) && ( defined(__i386__) || defined (__x86_64__) || defined(__ia64__) )
+ g_free (compat_im_module_files_d_str);
+#endif
g_free (im_module_files_d_str);
g_free (im_module_file_str);
}
Index: b/gdk-pixbuf/gdk-pixbuf-io.c
===================================================================
--- a/gdk-pixbuf/gdk-pixbuf-io.c 2010-04-10 14:52:10.065944562 +0200
+++ b/gdk-pixbuf/gdk-pixbuf-io.c 2010-04-10 14:52:10.685945884 +0200
@@ -554,6 +554,18 @@
#ifdef USE_GMODULE
GIOChannel *channel;
gchar *gdkpixbuf_module_file_str = gdk_pixbuf_get_module_file ();
+
+#if defined(__linux__) && defined (__i386__)
+ gchar *compat_gdkpixbuf_module_files_d_str = g_build_filename ("/usr/lib32/gtk-2.0",
+ GTK_BINARY_VERSION,
+ "loader-files.d",
+ NULL);
+#elif defined(__linux__) && ( defined (__x86_64__) || defined(__ia64__) )
+ gchar *compat_gdkpixbuf_module_files_d_str = g_build_filename ("/usr/lib64/gtk-2.0",
+ GTK_BINARY_VERSION,
+ "loader-files.d",
+ NULL);
+#endif
gchar *list_str;
char **files;
GError *error = NULL;
@@ -640,6 +652,18 @@
#undef load_one_builtin_module
#ifdef USE_GMODULE
+
+#if defined(__linux__) && ( defined(__i386__) || defined (__x86_64__) || defined(__ia64__) )
+ /* prefer compat_gdkpixbuf_module_files_d_str over PIXBUF_FILES_LIBDIR
+ * on the above arches if it's usable */
+ if (! g_access(compat_gdkpixbuf_module_files_d_str, R_OK|X_OK))
+ list_str = g_strjoin (G_SEARCHPATH_SEPARATOR_S,
+ gdkpixbuf_module_file_str,
+ compat_gdkpixbuf_module_files_d_str,
+ NULL);
+ else /* continued below */
+#endif
+
list_str = g_strjoin (G_SEARCHPATH_SEPARATOR_S,
gdkpixbuf_module_file_str,
PIXBUF_FILES_LIBDIR,
@@ -695,6 +719,10 @@
}
g_strfreev (files);
+#if defined(__linux__) && ( defined(__i386__) || defined (__x86_64__) || defined(__ia64__) )
+
+ g_free (compat_gdkpixbuf_module_files_d_str);
+#endif
g_free (list_str);
g_free (gdkpixbuf_module_file_str);
#endif

View File

@ -1,39 +0,0 @@
Index: gtk+2.0-2.10.11/gdk/directfb/gdkwindow-directfb.c
===================================================================
--- gtk+2.0-2.10.11.orig/gdk/directfb/gdkwindow-directfb.c 2007-04-13 10:46:56.000000000 +0200
+++ gtk+2.0-2.10.11/gdk/directfb/gdkwindow-directfb.c 2007-04-13 10:46:59.000000000 +0200
@@ -23,6 +23,16 @@
* file for a list of people on the GTK+ Team.
*/
+ if (impl->drawable.surface) {
+ GdkDrawableImplDirectFB *dimpl = GDK_DRAWABLE_IMPL_DIRECTFB (private->impl);
+ if(dimpl->cairo_surface) {
+ cairo_surface_destroy(dimpl->cairo_surface);
+ dimpl->cairo_surface= NULL;
+ }
+ impl->drawable.surface->Release (impl->drawable.surface);
+ impl->drawable.surface = NULL;
+ }
+
/*
* GTK+ DirectFB backend
* Copyright (C) 2001-2002 convergence integrated media GmbH
@@ -612,16 +622,8 @@
impl->window->SetOpacity (impl->window,0);
impl->window->Close(impl->window);
impl->window->Release(impl->window);
+ impl->window = NULL;
}
-
-#if 0 /* let the finalizer kill it */
- if (!recursing && !foreign_destroy)
- {
- if (impl->window)
- impl->window->Destroy (impl->window);
- impl->window = NULL;
- }
-#endif
}
/* This function is called when the window is really gone.

View File

@ -1,74 +0,0 @@
diff -urN gtk+-2.8.20.orig/gdk-pixbuf/gdk-pixbuf-loader.c gtk+-2.8.20/gdk-pixbuf/gdk-pixbuf-loader.c
--- gtk+-2.8.20.orig/gdk-pixbuf/gdk-pixbuf-loader.c 2006-03-22 21:35:26.000000000 +0100
+++ gtk+-2.8.20/gdk-pixbuf/gdk-pixbuf-loader.c 2007-01-25 12:15:17.000000000 +0100
@@ -491,7 +491,7 @@
eaten = gdk_pixbuf_loader_eat_header_write (loader, buf, count, error);
if (eaten <= 0)
- return FALSE;
+ goto fail;
count -= eaten;
buf += eaten;
@@ -499,27 +499,32 @@
if (count > 0 && priv->image_module->load_increment)
{
- gboolean retval;
- retval = priv->image_module->load_increment (priv->context, buf, count,
- error);
- if (!retval && error && *error == NULL)
- {
- /* Fix up busted image loader */
- g_warning ("Bug! loader '%s' didn't set an error on failure",
- priv->image_module->module_name);
- g_set_error (error,
- GDK_PIXBUF_ERROR,
- GDK_PIXBUF_ERROR_FAILED,
- _("Internal error: Image loader module '%s'"
- " failed to begin loading an image, but didn't"
- " give a reason for the failure"),
- priv->image_module->module_name);
- }
-
- return retval;
+ if (!priv->image_module->load_increment (priv->context, buf, count,
+ error))
+ goto fail;
+
}
return TRUE;
+
+ fail:
+ if (error && *error == NULL)
+ {
+ /* Fix up busted image loader */
+ g_warning ("Bug! loader '%s' didn't set an error on failure",
+ priv->image_module->module_name);
+ g_set_error (error,
+ GDK_PIXBUF_ERROR,
+ GDK_PIXBUF_ERROR_FAILED,
+ _("Internal error: Image loader module '%s'"
+ " failed to begin loading an image, but didn't"
+ " give a reason for the failure"),
+ priv->image_module->module_name);
+ }
+
+ gdk_pixbuf_loader_close (loader, NULL);
+
+ return FALSE;
}
/**
@@ -737,8 +742,8 @@
priv = loader->priv;
- /* we expect it's not closed */
- g_return_val_if_fail (priv->closed == FALSE, TRUE);
+ if (priv->closed)
+ return TRUE;
/* We have less the LOADER_HEADER_SIZE bytes in the image.
* Flush it, and keep going.

View File

@ -1,33 +0,0 @@
--- a/gtk/gtkentry.c 2008-04-01 11:10:41.000000000 +0200
+++ b/gtk/gtkentry.c 2008-04-01 11:11:08.000000000 +0200
@@ -537,7 +537,7 @@
g_param_spec_unichar ("invisible-char",
P_("Invisible character"),
P_("The character to use when masking entry contents (in \"password mode\")"),
- '*',
+ (gunichar) 0x25CF,
GTK_PARAM_READWRITE));
g_object_class_install_property (gobject_class,
@@ -1103,7 +1103,7 @@
entry->editable = TRUE;
entry->visible = TRUE;
- entry->invisible_char = '*';
+ entry->invisible_char = (gunichar) 0x25CF;
entry->dnd_position = -1;
entry->width_chars = -1;
entry->is_cell_renderer = FALSE;
@@ -4552,9 +4552,9 @@
* gtk_entry_set_visibility() has been called to set text visibility
* to %FALSE. i.e. this is the character used in "password mode" to
* show the user how many characters have been typed. The default
- * invisible char is an asterisk ('*'). If you set the invisible char
- * to 0, then the user will get no feedback at all; there will be
- * no text on the screen as they type.
+ * invisible char is a black circle (Unicode character 25CF). If
+ * you set the invisible char to 0, then the user will get no
+ * feedback at all; there will be no text on the screen as they type.
**/
void
gtk_entry_set_invisible_char (GtkEntry *entry,

View File

@ -1,34 +0,0 @@
From 84f88bbb1d2e12b1c582e87fa098b823e91bbf33 Mon Sep 17 00:00:00 2001
From: Jan Arne Petersen <jap@gnome.org>
Date: Tue, 18 May 2010 06:46:42 +0000
Subject: GtkRange: Redraw if GtkRange is a GtkScale and value is drawn.
* gtk/gtkrange.c: (gtk_range_adjustment_value_change):
Queue the draw also if the range is a scale and the value is drawn,
fixing bug #533946 (Markus Brinkmann), when two HScales use one
adjustment.
---
diff --git a/gtk/gtkrange.c b/gtk/gtkrange.c
index 552eac7..a4fcee4 100644
--- a/gtk/gtkrange.c
+++ b/gtk/gtkrange.c
@@ -35,6 +35,7 @@
#include "gtkmarshalers.h"
#include "gtkorientable.h"
#include "gtkrange.h"
+#include "gtkscale.h"
#include "gtkscrollbar.h"
#include "gtkprivate.h"
#include "gtkintl.h"
@@ -2618,7 +2619,8 @@ gtk_range_adjustment_value_changed (GtkAdjustment *adjustment,
gtk_range_calc_layout (range, range->adjustment->value);
/* now check whether the layout changed */
- if (layout_changed (range->layout, &layout))
+ if (layout_changed (range->layout, &layout) ||
+ (GTK_IS_SCALE (range) && GTK_SCALE (range)->draw_value))
{
gtk_widget_queue_draw (GTK_WIDGET (range));
/* setup a timer to ensure the range isn't lagging too much behind the scroll position */
--
cgit v0.8.3.1

View File

@ -1,448 +0,0 @@
From upstream SVN r16366 (trunk)
===================================================================
Stop cursor blinking after a configurable timeout.
(#353670, #352442, Arjan van de Ven, Manu Cornet)
* gtk/gtksettings.c (gtk_settings_class_init): Add a
gtk-cursor-blink-timeout setting, which specifies the number
of seconds that the cursor should blink after a user interaction.
The default value is G_MAXINT to preserve the current behaviour.
* gtk/gtkentry.c (blink_cb): Stop blinking after blink-timeout
seconds.
* gtk/gtkentry.c (gtk_entry_completion_key_press)
(gtk_entry_button_press, gtk_entry_focus_in): Reset the
blink timer.
* gtk/gtktextview.c (blink_cb): Stop blinking after blink-timeout
seconds.
* gtk/gtktextview.c (gtk_text_view_key_press_event)
(gtk_text_view_button_press_event, gtk_text_view_focus_in_event):
Reset the blink timer.
Index: gtk+2.0-2.10.10/gtk/gtkentry.c
===================================================================
--- gtk+2.0-2.10.10.orig/gtk/gtkentry.c 2007-03-13 14:10:39.000000000 +0100
+++ gtk+2.0-2.10.10/gtk/gtkentry.c 2007-03-13 14:10:42.000000000 +0100
@@ -82,6 +82,7 @@
{
gfloat xalign;
gint insert_pos;
+ guint blink_time; /* time in msec the cursor has blinked since last user event */
guint real_changed : 1;
guint change_count : 8;
};
@@ -334,6 +335,7 @@
GtkStateType previous_state);
static void gtk_entry_check_cursor_blink (GtkEntry *entry);
static void gtk_entry_pend_cursor_blink (GtkEntry *entry);
+static void gtk_entry_reset_blink_time (GtkEntry *entry);
static void get_text_area_size (GtkEntry *entry,
gint *x,
gint *y,
@@ -1654,6 +1656,8 @@
(entry->button && event->button != entry->button))
return FALSE;
+ gtk_entry_reset_blink_time (entry);
+
entry->button = event->button;
if (!GTK_WIDGET_HAS_FOCUS (widget))
@@ -1744,7 +1748,7 @@
entry->drag_start_y = event->y;
}
else
- gtk_editable_set_position (editable, tmp_pos);
+ gtk_editable_set_position (editable, tmp_pos);
break;
case GDK_2BUTTON_PRESS:
@@ -2006,6 +2010,7 @@
{
GtkEntry *entry = GTK_ENTRY (widget);
+ gtk_entry_reset_blink_time (entry);
gtk_entry_pend_cursor_blink (entry);
if (entry->editable)
@@ -2078,6 +2083,7 @@
"direction_changed",
G_CALLBACK (gtk_entry_keymap_direction_changed), entry);
+ gtk_entry_reset_blink_time (entry);
gtk_entry_check_cursor_blink (entry);
return FALSE;
@@ -5281,9 +5287,10 @@
* - the widget has focus
*/
-#define CURSOR_ON_MULTIPLIER 0.66
-#define CURSOR_OFF_MULTIPLIER 0.34
-#define CURSOR_PEND_MULTIPLIER 1.0
+#define CURSOR_ON_MULTIPLIER 2
+#define CURSOR_OFF_MULTIPLIER 1
+#define CURSOR_PEND_MULTIPLIER 3
+#define CURSOR_DIVIDER 3
static gboolean
cursor_blinks (GtkEntry *entry)
@@ -5315,6 +5322,17 @@
return time;
}
+static gint
+get_cursor_blink_timeout (GtkEntry *entry)
+{
+ GtkSettings *settings = gtk_widget_get_settings (GTK_WIDGET (entry));
+ gint timeout;
+
+ g_object_get (settings, "gtk-cursor-blink-timeout", &timeout, NULL);
+
+ return timeout;
+}
+
static void
show_cursor (GtkEntry *entry)
{
@@ -5346,11 +5364,14 @@
blink_cb (gpointer data)
{
GtkEntry *entry;
+ GtkEntryPrivate *priv;
+ gint blink_timeout;
GDK_THREADS_ENTER ();
entry = GTK_ENTRY (data);
-
+ priv = GTK_ENTRY_GET_PRIVATE (entry);
+
if (!GTK_WIDGET_HAS_FOCUS (entry))
{
g_warning ("GtkEntry - did not receive focus-out-event. If you\n"
@@ -5363,18 +5384,27 @@
}
g_assert (entry->selection_bound == entry->current_pos);
-
- if (entry->cursor_visible)
+
+ blink_timeout = get_cursor_blink_timeout (entry);
+ if (priv->blink_time > 1000 * blink_timeout &&
+ blink_timeout < G_MAXINT/1000)
+ {
+ /* we've blinked enough without the user doing anything, stop blinking */
+ show_cursor (entry);
+ entry->blink_timeout = 0;
+ }
+ else if (entry->cursor_visible)
{
hide_cursor (entry);
- entry->blink_timeout = g_timeout_add (get_cursor_time (entry) * CURSOR_OFF_MULTIPLIER,
+ entry->blink_timeout = g_timeout_add (get_cursor_time (entry) * CURSOR_OFF_MULTIPLIER / CURSOR_DIVIDER,
blink_cb,
entry);
}
else
{
show_cursor (entry);
- entry->blink_timeout = g_timeout_add (get_cursor_time (entry) * CURSOR_ON_MULTIPLIER,
+ priv->blink_time += get_cursor_time (entry);
+ entry->blink_timeout = g_timeout_add (get_cursor_time (entry) * CURSOR_ON_MULTIPLIER / CURSOR_DIVIDER,
blink_cb,
entry);
}
@@ -5388,14 +5418,18 @@
static void
gtk_entry_check_cursor_blink (GtkEntry *entry)
{
+ GtkEntryPrivate *priv;
+
+ priv = GTK_ENTRY_GET_PRIVATE (entry);
+
if (cursor_blinks (entry))
{
if (!entry->blink_timeout)
{
- entry->blink_timeout = g_timeout_add (get_cursor_time (entry) * CURSOR_ON_MULTIPLIER,
+ show_cursor (entry);
+ entry->blink_timeout = g_timeout_add (get_cursor_time (entry) * CURSOR_ON_MULTIPLIER / CURSOR_DIVIDER,
blink_cb,
entry);
- show_cursor (entry);
}
}
else
@@ -5419,13 +5453,24 @@
if (entry->blink_timeout != 0)
g_source_remove (entry->blink_timeout);
- entry->blink_timeout = g_timeout_add (get_cursor_time (entry) * CURSOR_PEND_MULTIPLIER,
+ entry->blink_timeout = g_timeout_add (get_cursor_time (entry) * CURSOR_PEND_MULTIPLIER / CURSOR_DIVIDER,
blink_cb,
entry);
show_cursor (entry);
}
}
+static void
+gtk_entry_reset_blink_time (GtkEntry *entry)
+{
+ GtkEntryPrivate *priv;
+
+ priv = GTK_ENTRY_GET_PRIVATE (entry);
+
+ priv->blink_time = 0;
+}
+
+
/* completion */
static gint
gtk_entry_completion_timeout (gpointer data)
Index: gtk+2.0-2.10.10/gtk/gtksettings.c
===================================================================
--- gtk+2.0-2.10.10.orig/gtk/gtksettings.c 2007-03-12 14:50:58.000000000 +0100
+++ gtk+2.0-2.10.10/gtk/gtksettings.c 2007-03-13 14:10:42.000000000 +0100
@@ -64,6 +64,7 @@
PROP_DOUBLE_CLICK_DISTANCE,
PROP_CURSOR_BLINK,
PROP_CURSOR_BLINK_TIME,
+ PROP_CURSOR_BLINK_TIMEOUT,
PROP_SPLIT_CURSOR,
PROP_THEME_NAME,
PROP_ICON_THEME_NAME,
@@ -201,6 +202,15 @@
GTK_PARAM_READWRITE),
NULL);
g_assert (result == PROP_DOUBLE_CLICK_DISTANCE);
+
+ /**
+ * GtkSettings:gtk-cursor-blink:
+ *
+ * Whether the cursor should blink.
+ *
+ * Also see the gtk-cursor-blink-timeout setting, which allows
+ * more flexible control over cursor blinking.
+ */
result = settings_install_property_parser (class,
g_param_spec_boolean ("gtk-cursor-blink",
P_("Cursor Blink"),
@@ -212,11 +222,31 @@
result = settings_install_property_parser (class,
g_param_spec_int ("gtk-cursor-blink-time",
P_("Cursor Blink Time"),
- P_("Length of the cursor blink cycle, in milleseconds"),
+ P_("Length of the cursor blink cycle, in milliseconds"),
100, G_MAXINT, 1200,
GTK_PARAM_READWRITE),
NULL);
g_assert (result == PROP_CURSOR_BLINK_TIME);
+
+ /**
+ * GtkSettings:gtk-cursor-blink-timeout:
+ *
+ * Time after which the cursor stops blinking, in seconds.
+ * The timer is reset after each user interaction.
+ *
+ * Setting this to zero has the same effect as setting
+ * gtk-cursor-blinks to %FALSE.
+ *
+ * Since: 2.12
+ */
+ result = settings_install_property_parser (class,
+ g_param_spec_int ("gtk-cursor-blink-timeout",
+ P_("Cursor Blink Timeout"),
+ P_("Time after which the cursor stops blinking, in seconds"),
+ 1, G_MAXINT, G_MAXINT,
+ GTK_PARAM_READWRITE),
+ NULL);
+ g_assert (result == PROP_CURSOR_BLINK_TIMEOUT);
result = settings_install_property_parser (class,
g_param_spec_boolean ("gtk-split-cursor",
P_("Split Cursor"),
Index: gtk+2.0-2.10.10/gtk/gtktextview.c
===================================================================
--- gtk+2.0-2.10.10.orig/gtk/gtktextview.c 2007-03-12 14:50:26.000000000 +0100
+++ gtk+2.0-2.10.10/gtk/gtktextview.c 2007-03-13 14:10:42.000000000 +0100
@@ -99,6 +99,16 @@
#define SPACE_FOR_CURSOR 1
+typedef struct _GtkTextViewPrivate GtkTextViewPrivate;
+
+#define GTK_TEXT_VIEW_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), GTK_TYPE_TEXT_VIEW, GtkTextViewPrivate))
+
+struct _GtkTextViewPrivate
+{
+ guint blink_time; /* time in msec the cursor has blinked since last user event */
+};
+
+
struct _GtkTextPendingScroll
{
GtkTextMark *mark;
@@ -290,6 +300,7 @@
static void gtk_text_view_check_cursor_blink (GtkTextView *text_view);
static void gtk_text_view_pend_cursor_blink (GtkTextView *text_view);
static void gtk_text_view_stop_cursor_blink (GtkTextView *text_view);
+static void gtk_text_view_reset_blink_time (GtkTextView *text_view);
static void gtk_text_view_value_changed (GtkAdjustment *adj,
GtkTextView *view);
@@ -1007,6 +1018,8 @@
gtk_binding_entry_add_signal (binding_set, GDK_KP_Tab, GDK_SHIFT_MASK | GDK_CONTROL_MASK,
"move_focus", 1,
GTK_TYPE_DIRECTION_TYPE, GTK_DIR_TAB_BACKWARD);
+
+ g_type_class_add_private (gobject_class, sizeof (GtkTextViewPrivate));
}
static void
@@ -3920,6 +3933,7 @@
if (obscure)
gtk_text_view_obscure_mouse_cursor (text_view);
+ gtk_text_view_reset_blink_time (text_view);
gtk_text_view_pend_cursor_blink (text_view);
return retval;
@@ -3963,6 +3977,8 @@
return FALSE;
}
+ gtk_text_view_reset_blink_time (text_view);
+
#if 0
/* debug hack */
if (event->button == 3 && (event->state & GDK_CONTROL_MASK) != 0)
@@ -4104,7 +4120,9 @@
gtk_widget_queue_draw (widget);
DV(g_print (G_STRLOC": focus_in_event\n"));
-
+
+ gtk_text_view_reset_blink_time (text_view);
+
if (text_view->cursor_visible && text_view->layout)
{
gtk_text_layout_set_cursor_visible (text_view->layout, TRUE);
@@ -4437,9 +4455,10 @@
g_slist_free (copy);
}
-#define CURSOR_ON_MULTIPLIER 0.66
-#define CURSOR_OFF_MULTIPLIER 0.34
-#define CURSOR_PEND_MULTIPLIER 1.0
+#define CURSOR_ON_MULTIPLIER 2
+#define CURSOR_OFF_MULTIPLIER 1
+#define CURSOR_PEND_MULTIPLIER 3
+#define CURSOR_DIVIDER 3
static gboolean
cursor_blinks (GtkTextView *text_view)
@@ -4484,6 +4503,18 @@
return time;
}
+static gint
+get_cursor_blink_timeout (GtkTextView *text_view)
+{
+ GtkSettings *settings = gtk_widget_get_settings (GTK_WIDGET (text_view));
+ gint time;
+
+ g_object_get (settings, "gtk-cursor-blink-timeout", &time, NULL);
+
+ return time;
+}
+
+
/*
* Blink!
*/
@@ -4492,12 +4523,15 @@
blink_cb (gpointer data)
{
GtkTextView *text_view;
+ GtkTextViewPrivate *priv;
gboolean visible;
+ gint blink_timeout;
GDK_THREADS_ENTER ();
text_view = GTK_TEXT_VIEW (data);
-
+ priv = GTK_TEXT_VIEW_GET_PRIVATE (text_view);
+
if (!GTK_WIDGET_HAS_FOCUS (text_view))
{
g_warning ("GtkTextView - did not receive focus-out-event. If you\n"
@@ -4514,14 +4548,25 @@
visible = gtk_text_layout_get_cursor_visible (text_view->layout);
- if (visible)
- text_view->blink_timeout = g_timeout_add (get_cursor_time (text_view) * CURSOR_OFF_MULTIPLIER,
- blink_cb,
- text_view);
- else
- text_view->blink_timeout = g_timeout_add (get_cursor_time (text_view) * CURSOR_ON_MULTIPLIER,
+ blink_timeout = get_cursor_blink_timeout (text_view);
+ if (priv->blink_time > 1000 * blink_timeout &&
+ blink_timeout < G_MAXINT/1000)
+ {
+ /* we've blinked enough without the user doing anything, stop blinking */
+ visible = 0;
+ text_view->blink_timeout = 0;
+ }
+ else if (visible)
+ text_view->blink_timeout = g_timeout_add (get_cursor_time (text_view) * CURSOR_OFF_MULTIPLIER / CURSOR_DIVIDER,
blink_cb,
text_view);
+ else
+ {
+ text_view->blink_timeout = g_timeout_add (get_cursor_time (text_view) * CURSOR_ON_MULTIPLIER / CURSOR_DIVIDER,
+ blink_cb,
+ text_view);
+ priv->blink_time += get_cursor_time (text_view);
+ }
/* Block changed_handler while changing the layout's cursor visibility
* because it would expose the whole paragraph. Instead, we expose
@@ -4567,7 +4612,7 @@
{
gtk_text_layout_set_cursor_visible (text_view->layout, TRUE);
- text_view->blink_timeout = g_timeout_add (get_cursor_time (text_view) * CURSOR_OFF_MULTIPLIER,
+ text_view->blink_timeout = g_timeout_add (get_cursor_time (text_view) * CURSOR_OFF_MULTIPLIER / CURSOR_DIVIDER,
blink_cb,
text_view);
}
@@ -4596,12 +4641,22 @@
gtk_text_view_stop_cursor_blink (text_view);
gtk_text_layout_set_cursor_visible (text_view->layout, TRUE);
- text_view->blink_timeout = g_timeout_add (get_cursor_time (text_view) * CURSOR_PEND_MULTIPLIER,
+ text_view->blink_timeout = g_timeout_add (get_cursor_time (text_view) * CURSOR_PEND_MULTIPLIER / CURSOR_DIVIDER,
blink_cb,
text_view);
}
}
+static void
+gtk_text_view_reset_blink_time (GtkTextView *text_view)
+{
+ GtkTextViewPrivate *priv;
+
+ priv = GTK_TEXT_VIEW_GET_PRIVATE (text_view);
+
+ priv->blink_time = 0;
+}
+
/*
* Key binding handlers

View File

@ -1,50 +0,0 @@
Debian #394871
GNOME #543710
Index: gtk+-2.12.11/gdk/directfb/gdkkeys-directfb.c
===================================================================
--- gtk+-2.12.11.orig/gdk/directfb/gdkkeys-directfb.c 2008-07-19 12:21:35.189826919 +0200
+++ gtk+-2.12.11/gdk/directfb/gdkkeys-directfb.c 2008-07-19 12:22:17.381822899 +0200
@@ -1629,28 +1629,7 @@ gdk_directfb_translate_key (DFBInputDevi
break;
case DIKT_DEAD:
- switch (key_symbol)
- {
- case DIKS_DEAD_ABOVEDOT: keyval = GDK_dead_abovedot; break;
- case DIKS_DEAD_ABOVERING: keyval = GDK_dead_abovering; break;
- case DIKS_DEAD_ACUTE: keyval = GDK_dead_acute; break;
- case DIKS_DEAD_BREVE: keyval = GDK_dead_breve; break;
- case DIKS_DEAD_CARON: keyval = GDK_dead_caron; break;
- case DIKS_DEAD_CEDILLA: keyval = GDK_dead_cedilla; break;
- case DIKS_DEAD_CIRCUMFLEX: keyval = GDK_dead_circumflex; break;
- case DIKS_DEAD_DIAERESIS: keyval = GDK_dead_diaeresis; break;
- case DIKS_DEAD_DOUBLEACUTE: keyval = GDK_dead_doubleacute; break;
- case DIKS_DEAD_GRAVE: keyval = GDK_dead_grave; break;
- case DIKS_DEAD_IOTA: keyval = GDK_dead_iota; break;
- case DIKS_DEAD_MACRON: keyval = GDK_dead_macron; break;
- case DIKS_DEAD_OGONEK: keyval = GDK_dead_ogonek; break;
- case DIKS_DEAD_SEMIVOICED_SOUND:
- keyval = GDK_dead_semivoiced_sound; break;
- case DIKS_DEAD_TILDE: keyval = GDK_dead_tilde; break;
- case DIKS_DEAD_VOICED_SOUND: keyval = GDK_dead_voiced_sound; break;
- default:
- break;
- }
+ /* dead keys are handled directly by directfb */
break;
case DIKT_CUSTOM:
Index: gtk+-2.12.11/configure.in
===================================================================
--- gtk+-2.12.11.orig/configure.in 2008-07-19 12:22:22.874320130 +0200
+++ gtk+-2.12.11/configure.in 2008-07-19 12:22:27.902614857 +0200
@@ -1399,7 +1399,7 @@ AC_SUBST(GDK_PIXBUF_XLIB_DEP_LIBS)
AC_SUBST(GDK_PIXBUF_XLIB_DEP_CFLAGS)
if test "x$gdktarget" = "xdirectfb"; then
- DIRECTFB_REQUIRED_VERSION=0.9.24
+ DIRECTFB_REQUIRED_VERSION=0.9.26
AC_MSG_CHECKING(for DirectFB)
if $PKG_CONFIG --atleast-version $DIRECTFB_REQUIRED_VERSION directfb && $PKG_CONFIG --exists cairo-directfb ; then

View File

@ -1,29 +0,0 @@
From 6e4d98c0c714038617195683be60810dbd349ac6 Mon Sep 17 00:00:00 2001
From: Marek Kasik <mkasik@redhat.com>
Date: Fri, 21 May 2010 10:14:04 +0000
Subject: Update list of US Letter locales
Sync paper size fallbacks with the latest 1.8.1 CLDR table (#618000).
---
diff --git a/gtk/gtkpapersize.c b/gtk/gtkpapersize.c
index 7188cef..894dca0 100644
--- a/gtk/gtkpapersize.c
+++ b/gtk/gtkpapersize.c
@@ -669,10 +669,11 @@ gtk_paper_size_get_default (void)
if (!locale)
return GTK_PAPER_NAME_A4;
- if (g_str_has_prefix (locale, "en_CA") ||
- g_str_has_prefix (locale, "en_US") ||
- g_str_has_prefix (locale, "es_PR") ||
- g_str_has_prefix (locale, "es_US"))
+ /* CLDR 1.8.1
+ * http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/territory_language_information.html
+ */
+ if (g_regex_match_simple("[^_.@]{2,3}_(BZ|CA|CL|CO|CR|GT|MX|NI|PA|PH|PR|SV|US|VE)",
+ locale, G_REGEX_ANCHORED, G_REGEX_MATCH_ANCHORED))
paper_size = GTK_PAPER_NAME_LETTER;
else
paper_size = GTK_PAPER_NAME_A4;
--
cgit v0.8.3.1

View File

@ -1,951 +0,0 @@
Patch from Sven Neumann to fix DirectFB support for GTK+ 2.14.
Based on the original Ubuntu patch for 2.12.
GNOME #554407
Upstream svn r22358,r22381,r22383,r22385
Index: gtk+-2.14.7/gdk/directfb/gdkdisplay-directfb.c
===================================================================
--- gtk+-2.14.7.orig/gdk/directfb/gdkdisplay-directfb.c 2009-03-02 13:00:06.844957878 +0100
+++ gtk+-2.14.7/gdk/directfb/gdkdisplay-directfb.c 2009-03-02 13:00:20.703932134 +0100
@@ -36,14 +36,13 @@
#include "gdkalias.h"
-
-extern void _gdk_visual_init (void);
-extern void _gdk_events_init (void);
-extern void _gdk_input_init (void);
-extern void _gdk_dnd_init (void);
-extern void _gdk_windowing_window_init (void);
-extern void _gdk_windowing_image_init (void);
-extern void _gdk_directfb_keyboard_init (void);
+extern void _gdk_visual_init (void);
+extern void _gdk_events_init (void);
+extern void _gdk_input_init (void);
+extern void _gdk_dnd_init (void);
+extern void _gdk_windowing_window_init (void);
+extern void _gdk_windowing_image_init (void);
+extern void _gdk_directfb_keyboard_init (void);
static gboolean gdk_directfb_argb_font = FALSE;
static gint gdk_directfb_glyph_surface_cache = 8;
@@ -130,11 +129,10 @@
_gdk_screen = g_object_new (GDK_TYPE_SCREEN, NULL);
_gdk_visual_init ();
+ _gdk_windowing_window_init ();
gdk_screen_set_default_colormap (_gdk_screen,
- gdk_screen_get_system_colormap (_gdk_screen));
- _gdk_windowing_window_init ();
- _gdk_windowing_image_init ();
+ gdk_screen_get_system_colormap (_gdk_screen)); _gdk_windowing_image_init ();
_gdk_input_init ();
_gdk_dnd_init ();
Index: gtk+-2.14.7/gdk/directfb/gdkgeometry-directfb.c
===================================================================
--- gtk+-2.14.7.orig/gdk/directfb/gdkgeometry-directfb.c 2009-03-02 12:58:18.511935665 +0100
+++ gtk+-2.14.7/gdk/directfb/gdkgeometry-directfb.c 2009-03-02 12:59:12.960971087 +0100
@@ -41,9 +41,9 @@
void
-_gdk_windowing_window_get_offsets (GdkWindow *window,
- gint *x_offset,
- gint *y_offset)
+_gdk_directfb_window_get_offsets (GdkWindow *window,
+ gint *x_offset,
+ gint *y_offset)
{
if (x_offset)
*x_offset = 0;
@@ -69,9 +69,9 @@
* brings in from offscreen areas are invalidated.
**/
void
-gdk_window_scroll (GdkWindow *window,
- gint dx,
- gint dy)
+_gdk_directfb_window_scroll (GdkWindow *window,
+ gint dx,
+ gint dy)
{
GdkWindowObject *private;
GdkDrawableImplDirectFB *impl;
@@ -161,10 +161,10 @@
* Since: 2.8
**/
void
-gdk_window_move_region (GdkWindow *window,
- const GdkRegion *region,
- gint dx,
- gint dy)
+_gdk_directfb_window_move_region (GdkWindow *window,
+ const GdkRegion *region,
+ gint dx,
+ gint dy)
{
GdkWindowObject *private;
GdkDrawableImplDirectFB *impl;
Index: gtk+-2.14.7/gdk/directfb/gdkprivate-directfb.h
===================================================================
--- gtk+-2.14.7.orig/gdk/directfb/gdkprivate-directfb.h 2009-03-02 12:58:31.315949652 +0100
+++ gtk+-2.14.7/gdk/directfb/gdkprivate-directfb.h 2009-03-02 12:59:12.964957976 +0100
@@ -172,6 +172,17 @@
void gdk_directfb_window_id_table_remove (DFBWindowID dfb_id);
GdkWindow * gdk_directfb_window_id_table_lookup (DFBWindowID dfb_id);
+void _gdk_directfb_window_get_offsets (GdkWindow *window,
+ gint *x_offset,
+ gint *y_offset);
+void _gdk_directfb_window_scroll (GdkWindow *window,
+ gint dx,
+ gint dy);
+void _gdk_directfb_window_move_region (GdkWindow *window,
+ const GdkRegion *region,
+ gint dx,
+ gint dy);
+
typedef struct
{
Index: gtk+-2.14.7/gdk/directfb/gdkwindow-directfb.c
===================================================================
--- gtk+-2.14.7.orig/gdk/directfb/gdkwindow-directfb.c 2009-03-02 12:58:31.287942741 +0100
+++ gtk+-2.14.7/gdk/directfb/gdkwindow-directfb.c 2009-03-02 13:00:47.307933131 +0100
@@ -33,6 +33,7 @@
#include "config.h"
#include "gdk.h"
+#include "gdkwindowimpl.h"
#include "gdkwindow.h"
#include "gdkdirectfb.h"
@@ -67,6 +68,9 @@
static void gdk_window_impl_directfb_class_init (GdkWindowImplDirectFBClass *klass);
static void gdk_window_impl_directfb_finalize (GObject *object);
+static void gdk_window_impl_iface_init (GdkWindowImplIface *iface);
+
+
typedef struct
{
GdkWindowChildChanged changed;
@@ -98,9 +102,8 @@
tmp_list = old_update_windows;
while (tmp_list)
{
- GdkWindowObject *private = GDK_WINDOW_OBJECT( tmp_list->data );
- GdkWindowImplDirectFB *wimpl = GDK_WINDOW_IMPL_DIRECTFB( private->impl );
-
+ GdkWindowObject *private = GDK_WINDOW_OBJECT( tmp_list->data );
+
if (private->update_freeze_count)
{
D_DEBUG_AT( GDKDFB_Updates, " -> %p frozen [%4d,%4d-%4dx%4d] (%d boxes)\n",
@@ -115,7 +118,7 @@
wimpl->flips.num_regions );
gdk_window_process_updates(tmp_list->data,TRUE);
}
-
+
g_object_unref (tmp_list->data);
tmp_list = tmp_list->next;
}
@@ -186,11 +189,8 @@
static GdkWindow *gdk_directfb_focused_window = NULL;
static gpointer parent_class = NULL;
GdkWindow * _gdk_parent_root = NULL;
-static void
-gdk_window_impl_directfb_paintable_init (GdkPaintableIface *iface);
-
-
+static void gdk_window_impl_directfb_paintable_init (GdkPaintableIface *iface);
GType
@@ -213,20 +213,30 @@
(GInstanceInitFunc) gdk_window_impl_directfb_init,
};
- static const GInterfaceInfo paintable_info =
- {
- (GInterfaceInitFunc) gdk_window_impl_directfb_paintable_init,
- NULL,
- NULL
- };
+ static const GInterfaceInfo paintable_info =
+ {
+ (GInterfaceInitFunc) gdk_window_impl_directfb_paintable_init,
+ NULL,
+ NULL
+ };
+
+ static const GInterfaceInfo window_impl_info =
+ {
+ (GInterfaceInitFunc) gdk_window_impl_iface_init,
+ NULL,
+ NULL
+ };
object_type = g_type_register_static (GDK_TYPE_DRAWABLE_IMPL_DIRECTFB,
"GdkWindowImplDirectFB",
&object_info, 0);
- g_type_add_interface_static (object_type,
- GDK_TYPE_PAINTABLE,
- &paintable_info);
-
+ g_type_add_interface_static (object_type,
+ GDK_TYPE_PAINTABLE,
+ &paintable_info);
+
+ g_type_add_interface_static (object_type,
+ GDK_TYPE_WINDOW_IMPL,
+ &window_impl_info);
}
return object_type;
@@ -401,11 +411,11 @@
g_assert (_gdk_parent_root == NULL);
- _gdk_display->layer->GetConfiguration(
- _gdk_display->layer, &dlc );
+ _gdk_display->layer->GetConfiguration (_gdk_display->layer, &dlc);
_gdk_parent_root = g_object_new (GDK_TYPE_WINDOW, NULL);
private = GDK_WINDOW_OBJECT (_gdk_parent_root);
+ private->impl = g_object_new (_gdk_window_impl_get_type (), NULL);
impl = GDK_WINDOW_IMPL_DIRECTFB (private->impl);
private->window_type = GDK_WINDOW_ROOT;
@@ -475,6 +485,7 @@
window = g_object_new (GDK_TYPE_WINDOW, NULL);
private = GDK_WINDOW_OBJECT (window);
+ private->impl = g_object_new (_gdk_window_impl_get_type (), NULL);
parent_private = GDK_WINDOW_OBJECT (parent);
parent_impl = GDK_WINDOW_IMPL_DIRECTFB (parent_private->impl);
@@ -647,8 +658,8 @@
GdkWindow *
_gdk_window_new (GdkWindow *parent,
- GdkWindowAttr *attributes,
- gint attributes_mask)
+ GdkWindowAttr *attributes,
+ gint attributes_mask)
{
g_return_val_if_fail (attributes != NULL, NULL);
@@ -1230,28 +1241,19 @@
}
}
-void
-gdk_window_show_unraised (GdkWindow *window)
-{
- g_return_if_fail (GDK_IS_WINDOW (window));
-
- D_DEBUG_AT( GDKDFB_Window, "%s( %p )\n", __FUNCTION__, window );
-
- show_window_internal (window, FALSE);
-}
-
-void
-gdk_window_show (GdkWindow *window)
+static void
+gdk_directfb_window_show (GdkWindow *window,
+ gboolean raise)
{
g_return_if_fail (GDK_IS_WINDOW (window));
D_DEBUG_AT( GDKDFB_Window, "%s( %p )\n", __FUNCTION__, window );
- show_window_internal (window, TRUE);
+ show_window_internal (window, raise);
}
-void
-gdk_window_hide (GdkWindow *window)
+static void
+gdk_directfb_window_hide (GdkWindow *window)
{
GdkWindowObject *private;
GdkWindowImplDirectFB *impl;
@@ -1276,11 +1278,11 @@
if (!private->input_only && private->parent)
{
- _gdk_windowing_window_clear_area (GDK_WINDOW (private->parent),
- private->x,
- private->y,
- impl->drawable.width,
- impl->drawable.height);
+ gdk_window_clear_area (GDK_WINDOW (private->parent),
+ private->x,
+ private->y,
+ impl->drawable.width,
+ impl->drawable.height);
}
event_win = gdk_directfb_other_event_window (window, GDK_UNMAP);
@@ -1299,8 +1301,8 @@
}
}
-void
-gdk_window_withdraw (GdkWindow *window)
+static void
+gdk_directfb_window_withdraw (GdkWindow *window)
{
g_return_if_fail (GDK_IS_WINDOW (window));
@@ -1309,80 +1311,6 @@
}
void
-gdk_window_move (GdkWindow *window,
- gint x,
- gint y)
-{
- GdkWindowObject *private;
- GdkWindowImplDirectFB *impl;
-
- g_return_if_fail (GDK_IS_WINDOW (window));
-
- private = GDK_WINDOW_OBJECT (window);
- impl = GDK_WINDOW_IMPL_DIRECTFB (private->impl);
-
- if (impl->window)
- {
- private->x = x;
- private->y = y;
- impl->window->MoveTo (impl->window, x, y);
- }
- else
- {
- gint width=impl->drawable.width;
- gint height=impl->drawable.height;
- GdkRectangle old =
- { private->x, private->y,width,height };
-
- _gdk_directfb_move_resize_child (window, x, y, width, height);
- _gdk_directfb_calc_abs (window);
-
- if (GDK_WINDOW_IS_MAPPED (private))
- {
- GdkWindow *mousewin;
- GdkRectangle new = { x, y, width, height };
-
- gdk_rectangle_union (&new, &old, &new);
- gdk_window_invalidate_rect (GDK_WINDOW (private->parent), &new,TRUE);
-
- /* The window the pointer is in might have changed */
- mousewin = gdk_window_at_pointer (NULL, NULL);
- gdk_directfb_window_send_crossing_events (NULL, mousewin,
- GDK_CROSSING_NORMAL);
- }
- }
-}
-
-void
-gdk_window_resize (GdkWindow *window,
- gint width,
- gint height)
-{
- GdkWindowObject *private;
- gint x, y;
-
- g_return_if_fail (GDK_IS_WINDOW (window));
-
- private = GDK_WINDOW_OBJECT (window);
-
- x = private->x;
- y = private->y;
-
- if (private->parent && (private->parent->window_type != GDK_WINDOW_CHILD))
- {
- GdkWindowChildHandlerData *data;
-
- data = g_object_get_data (G_OBJECT (private->parent),
- "gdk-window-child-handler");
-
- if (data)
- (*data->get_pos) (window, &x, &y, data->user_data);
- }
-
- gdk_window_move_resize (window, x, y, width, height);
-}
-
-void
_gdk_directfb_move_resize_child (GdkWindow *window,
gint x,
gint y,
@@ -1407,15 +1335,17 @@
if (!private->input_only)
{
- if (impl->drawable.surface) {
- GdkDrawableImplDirectFB *dimpl = GDK_DRAWABLE_IMPL_DIRECTFB (private->impl);
- if(dimpl->cairo_surface) {
- cairo_surface_destroy(dimpl->cairo_surface);
- dimpl->cairo_surface= NULL;
- }
- impl->drawable.surface->Release (impl->drawable.surface);
- impl->drawable.surface = NULL;
- }
+ if (impl->drawable.surface)
+ {
+ if (impl->drawable.cairo_surface)
+ {
+ cairo_surface_destroy (impl->drawable.cairo_surface);
+ impl->drawable.cairo_surface = NULL;
+ }
+
+ impl->drawable.surface->Release (impl->drawable.surface);
+ impl->drawable.surface = NULL;
+ }
parent_impl = GDK_WINDOW_IMPL_DIRECTFB (GDK_WINDOW_OBJECT (private->parent)->impl);
@@ -1432,19 +1362,66 @@
for (list = private->children; list; list = list->next)
{
private = GDK_WINDOW_OBJECT (list->data);
- impl = GDK_WINDOW_IMPL_DIRECTFB (private->impl);
+ impl = GDK_WINDOW_IMPL_DIRECTFB (private->impl);
+
_gdk_directfb_move_resize_child (list->data,
private->x, private->y,
impl->drawable.width, impl->drawable.height);
}
}
-void
-gdk_window_move_resize (GdkWindow *window,
- gint x,
- gint y,
- gint width,
- gint height)
+static void
+gdk_directfb_window_move (GdkWindow *window,
+ gint x,
+ gint y)
+{
+ GdkWindowObject *private;
+ GdkWindowImplDirectFB *impl;
+
+ g_return_if_fail (GDK_IS_WINDOW (window));
+
+ private = GDK_WINDOW_OBJECT (window);
+ impl = GDK_WINDOW_IMPL_DIRECTFB (private->impl);
+
+ if (impl->window)
+ {
+ private->x = x;
+ private->y = y;
+ impl->window->MoveTo (impl->window, x, y);
+ }
+ else
+ {
+ gint width=impl->drawable.width;
+ gint height=impl->drawable.height;
+ GdkRectangle old =
+ { private->x, private->y,width,height };
+
+ _gdk_directfb_move_resize_child (window, x, y, width, height);
+ _gdk_directfb_calc_abs (window);
+
+ if (GDK_WINDOW_IS_MAPPED (private))
+ {
+ GdkWindow *mousewin;
+ GdkRectangle new = { x, y, width, height };
+
+ gdk_rectangle_union (&new, &old, &new);
+ gdk_window_invalidate_rect (GDK_WINDOW (private->parent), &new,TRUE);
+
+ /* The window the pointer is in might have changed */
+ mousewin = gdk_window_at_pointer (NULL, NULL);
+ gdk_directfb_window_send_crossing_events (NULL, mousewin,
+ GDK_CROSSING_NORMAL);
+ }
+ }
+}
+
+static void
+gdk_directfb_window_move_resize (GdkWindow *window,
+ gboolean with_move,
+ gint x,
+ gint y,
+ gint width,
+ gint height)
{
GdkWindowObject *private;
GdkWindowImplDirectFB *impl;
@@ -1454,8 +1431,14 @@
private = GDK_WINDOW_OBJECT (window);
impl = GDK_WINDOW_IMPL_DIRECTFB (private->impl);
+ if (with_move && (width < 0 && height < 0))
+ {
+ gdk_directfb_window_move (window, x, y);
+ return;
+ }
+
if (width < 1)
- width = 1;
+ width = 1;
if (height < 1)
height = 1;
@@ -1478,26 +1461,39 @@
if (impl->drawable.width == width && impl->drawable.height == height)
{
- gdk_window_move (window, x, y);
+ if (with_move)
+ gdk_directfb_window_move (window, x, y);
}
else if (impl->window)
{
- private->x = x;
- private->y = y;
- impl->window->MoveTo (impl->window, x, y);
+ private->x = x;
+ private->y = y;
+ impl->drawable.width = width;
+ impl->drawable.height = height;
+
+ if (with_move)
+ impl->window->MoveTo (impl->window, x, y);
impl->window->Resize (impl->window, width, height);
}
else
{
- GdkRectangle old =
- { private->x, private->y, impl->drawable.width, impl->drawable.height };
- _gdk_directfb_move_resize_child (window, x, y, width, height);
+ GdkRectangle old = { private->x, private->y,
+ impl->drawable.width, impl->drawable.height };
+ GdkRectangle new = { x, y, width, height };
+
+ if (! with_move)
+ {
+ new.x = private->x;
+ new.y = private->y;
+ }
+
+ _gdk_directfb_move_resize_child (window,
+ new.x, new.y, new.width, new.height);
_gdk_directfb_calc_abs (window);
if (GDK_WINDOW_IS_MAPPED (private))
{
- GdkWindow *mousewin;
- GdkRectangle new = { x, y, width, height };
+ GdkWindow *mousewin;
gdk_rectangle_union (&new, &old, &new);
gdk_window_invalidate_rect (GDK_WINDOW (private->parent), &new,TRUE);
@@ -1510,11 +1506,11 @@
}
}
-void
-_gdk_window_reparent (GdkWindow *window,
- GdkWindow *new_parent,
- gint x,
- gint y)
+static gboolean
+gdk_directfb_window_reparent (GdkWindow *window,
+ GdkWindow *new_parent,
+ gint x,
+ gint y)
{
GdkWindowObject *window_private;
GdkWindowObject *parent_private;
@@ -1523,10 +1519,10 @@
GdkWindowImplDirectFB *parent_impl;
GdkVisual *visual;
- g_return_if_fail (GDK_IS_WINDOW (window));
+ g_return_val_if_fail (GDK_IS_WINDOW (window), FALSE);
if (GDK_WINDOW_DESTROYED (window))
- return;
+ return FALSE;
if (!new_parent)
new_parent = _gdk_parent_root;
@@ -1539,7 +1535,7 @@
/* already parented */
if( window_private->parent == (GdkWindowObject *)new_parent )
- return;
+ return FALSE;
window_private->parent = (GdkWindowObject *) new_parent;
@@ -1593,7 +1589,7 @@
{
g_assert(0);
_gdk_window_destroy (window, FALSE);
- return;
+ return FALSE;
}
/* we hold a reference count on ourselves */
g_object_ref (window);
@@ -1609,14 +1605,17 @@
&rect,
&impl->drawable.surface);
}
+
+ return TRUE;
}
-void
-_gdk_windowing_window_clear_area (GdkWindow *window,
- gint x,
- gint y,
- gint width,
- gint height)
+static void
+gdk_directfb_window_clear_area (GdkWindow *window,
+ gint x,
+ gint y,
+ gint width,
+ gint height,
+ gboolean send_expose)
{
GdkWindowObject *private;
GdkDrawableImplDirectFB *impl;
@@ -1700,51 +1699,8 @@
g_object_unref (gc);
}
-void
-_gdk_windowing_window_clear_area_e (GdkWindow *window,
- gint x,
- gint y,
- gint width,
- gint height)
-{
- GdkRectangle rect;
- GdkWindowObject *private;
- GdkWindowImplDirectFB *impl;
-
- D_DEBUG_AT( GDKDFB_Window, "%s( %p, %4d,%4d-%4dx%4d )\n", __FUNCTION__, window, x, y, width, height );
-
- g_return_if_fail (GDK_IS_WINDOW (window));
-
- private = GDK_WINDOW_OBJECT (window);
- impl = GDK_WINDOW_IMPL_DIRECTFB (private->impl);
-
- /**
- Follow XClearArea definition for zero height width
- **/
- if( width == 0 )
- width = impl->drawable.width-x;
- if( height == 0 )
- height = impl->drawable.height-y;
-
- rect.x = x;
- rect.y = y;
- rect.width = width;
- rect.height = height;
-
- g_return_if_fail (GDK_IS_WINDOW (window));
-
- if (GDK_WINDOW_DESTROYED (window)) {
- D_DEBUG_AT( GDKDFB_Window, " -> DESTROYED!\n" );
- return;
- }
-
- _gdk_windowing_window_clear_area (window, x, y, width, height);
-
- gdk_window_invalidate_rect (window, &rect, TRUE);
-}
-
-void
-gdk_window_raise (GdkWindow *window)
+static void
+gdk_window_directfb_raise (GdkWindow *window)
{
GdkWindowImplDirectFB *impl;
@@ -1774,8 +1730,8 @@
}
}
-void
-gdk_window_lower (GdkWindow *window)
+static void
+gdk_window_directfb_lower (GdkWindow *window)
{
GdkWindowImplDirectFB *impl;
@@ -1875,9 +1831,9 @@
* Since: 2.12
*
**/
-void
+void
gdk_window_set_startup_id (GdkWindow *window,
- const gchar *startup_id)
+ const gchar *startup_id)
{
}
@@ -1907,9 +1863,9 @@
root->children = g_list_insert (root->children, window, i);
}
-void
-gdk_window_set_background (GdkWindow *window,
- const GdkColor *color)
+static void
+gdk_directfb_window_set_background (GdkWindow *window,
+ const GdkColor *color)
{
GdkWindowObject *private;
@@ -1930,10 +1886,10 @@
private->bg_pixmap = NULL;
}
-void
-gdk_window_set_back_pixmap (GdkWindow *window,
- GdkPixmap *pixmap,
- gint parent_relative)
+static void
+gdk_directfb_window_set_back_pixmap (GdkWindow *window,
+ GdkPixmap *pixmap,
+ gboolean parent_relative)
{
GdkWindowObject *private;
GdkPixmap *old_pixmap;
@@ -1972,9 +1928,9 @@
}
}
-void
-gdk_window_set_cursor (GdkWindow *window,
- GdkCursor *cursor)
+static void
+gdk_directfb_window_set_cursor (GdkWindow *window,
+ GdkCursor *cursor)
{
GdkWindowImplDirectFB *impl;
GdkCursor *old_cursor;
@@ -2011,13 +1967,13 @@
gdk_cursor_unref (old_cursor);
}
-void
-gdk_window_get_geometry (GdkWindow *window,
- gint *x,
- gint *y,
- gint *width,
- gint *height,
- gint *depth)
+static void
+gdk_directfb_window_get_geometry (GdkWindow *window,
+ gint *x,
+ gint *y,
+ gint *width,
+ gint *height,
+ gint *depth)
{
GdkWindowObject *private;
GdkDrawableImplDirectFB *impl;
@@ -2078,10 +2034,10 @@
}
}
-gboolean
-gdk_window_get_origin (GdkWindow *window,
- gint *x,
- gint *y)
+static gboolean
+gdk_directfb_window_get_origin (GdkWindow *window,
+ gint *x,
+ gint *y)
{
g_return_val_if_fail (GDK_IS_WINDOW (window), FALSE);
@@ -2215,8 +2171,8 @@
}
-GdkEventMask
-gdk_window_get_events (GdkWindow *window)
+static GdkEventMask
+gdk_directfb_window_get_events (GdkWindow *window)
{
g_return_val_if_fail (GDK_IS_WINDOW (window), 0);
@@ -2226,9 +2182,9 @@
return GDK_WINDOW_OBJECT (window)->event_mask;
}
-void
-gdk_window_set_events (GdkWindow *window,
- GdkEventMask event_mask)
+static void
+gdk_directfb_window_set_events (GdkWindow *window,
+ GdkEventMask event_mask)
{
g_return_if_fail (GDK_IS_WINDOW (window));
@@ -2240,27 +2196,27 @@
GDK_WINDOW_OBJECT (window)->event_mask = event_mask;
}
-void
-gdk_window_shape_combine_mask (GdkWindow *window,
- GdkBitmap *mask,
- gint x,
- gint y)
+static void
+gdk_directfb_window_shape_combine_mask (GdkWindow *window,
+ GdkBitmap *mask,
+ gint x,
+ gint y)
{
}
void
gdk_window_input_shape_combine_mask (GdkWindow *window,
- GdkBitmap *mask,
- gint x,
- gint y)
+ GdkBitmap *mask,
+ gint x,
+ gint y)
{
}
-void
-gdk_window_shape_combine_region (GdkWindow *window,
- const GdkRegion *shape_region,
- gint offset_x,
- gint offset_y)
+static void
+gdk_directfb_window_shape_combine_region (GdkWindow *window,
+ const GdkRegion *shape_region,
+ gint offset_x,
+ gint offset_y)
{
}
@@ -2584,13 +2540,13 @@
g_message("unimplemented %s", __FUNCTION__);
}
-void
-gdk_window_set_child_shapes (GdkWindow *window)
+static void
+gdk_directfb_window_set_child_shapes (GdkWindow *window)
{
}
-void
-gdk_window_merge_child_shapes (GdkWindow *window)
+static void
+gdk_directfb_window_merge_child_shapes (GdkWindow *window)
{
}
@@ -2604,9 +2560,9 @@
{
}
-gboolean
-gdk_window_set_static_gravities (GdkWindow *window,
- gboolean use_static)
+static gboolean
+gdk_directfb_window_set_static_gravities (GdkWindow *window,
+ gboolean use_static)
{
g_return_val_if_fail (GDK_IS_WINDOW (window), FALSE);
@@ -2708,6 +2664,7 @@
window = g_object_new (GDK_TYPE_WINDOW, NULL);
private = GDK_WINDOW_OBJECT (window);
+ private->impl = g_object_new (_gdk_window_impl_get_type (), NULL);
parent_private = GDK_WINDOW_OBJECT (parent);
parent_impl = GDK_WINDOW_IMPL_DIRECTFB (parent_private->impl);
private->parent = parent_private;
@@ -2787,6 +2744,7 @@
/* we hold a reference count on ourselves */
g_object_ref (window);
private = GDK_WINDOW_OBJECT (window);
+ private->impl = g_object_new (_gdk_window_impl_get_type (), NULL);
private->parent = parent_private;
private->window_type = GDK_WINDOW_TOPLEVEL;
impl = GDK_WINDOW_IMPL_DIRECTFB (private->impl);
@@ -3153,11 +3111,11 @@
D_DEBUG_AT( GDKDFB_Window, " -> [%2d] %4d,%4d-%4dx%4d\n", i, GDKDFB_RECTANGLE_VALS_FROM_BOX( box ) );
- _gdk_windowing_window_clear_area (GDK_WINDOW(wimpl->gdkWindow),
- box->x1,
- box->y1,
- box->x2 - box->x1,
- box->y2 - box->y1);
+ gdk_window_clear_area (GDK_WINDOW(wimpl->gdkWindow),
+ box->x1,
+ box->y1,
+ box->x2 - box->x1,
+ box->y2 - box->y1);
}
}
@@ -3259,7 +3217,7 @@
{
GdkDisplay *display;
guint8 cardinal;
-
+
g_return_if_fail (GDK_IS_WINDOW (window));
if (GDK_WINDOW_DESTROYED (window))
@@ -3281,6 +3239,33 @@
{
}
+static void
+gdk_window_impl_iface_init (GdkWindowImplIface *iface)
+{
+ iface->show = gdk_directfb_window_show;
+ iface->hide = gdk_directfb_window_hide;
+ iface->withdraw = gdk_directfb_window_withdraw;
+ iface->raise = gdk_window_directfb_raise;
+ iface->lower = gdk_window_directfb_lower;
+ iface->move_resize = gdk_directfb_window_move_resize;
+ iface->move_region = _gdk_directfb_window_move_region;
+ iface->scroll = _gdk_directfb_window_scroll;
+ iface->clear_area = gdk_directfb_window_clear_area;
+ iface->set_background = gdk_directfb_window_set_background;
+ iface->set_back_pixmap = gdk_directfb_window_set_back_pixmap;
+ iface->get_events = gdk_directfb_window_get_events;
+ iface->set_events = gdk_directfb_window_set_events;
+ iface->reparent = gdk_directfb_window_reparent;
+ iface->set_cursor = gdk_directfb_window_set_cursor;
+ iface->get_geometry = gdk_directfb_window_get_geometry;
+ iface->get_origin = gdk_directfb_window_get_origin;
+ iface->get_offsets = _gdk_directfb_window_get_offsets;
+ iface->shape_combine_mask = gdk_directfb_window_shape_combine_mask;
+ iface->shape_combine_region = gdk_directfb_window_shape_combine_region;
+ iface->set_child_shapes = gdk_directfb_window_set_child_shapes;
+ iface->merge_child_shapes = gdk_directfb_window_merge_child_shapes;
+ iface->set_static_gravities = gdk_directfb_window_set_static_gravities;
+}
#define __GDK_WINDOW_X11_C__
#include "gdkaliasdef.c"

View File

@ -1,26 +0,0 @@
From 4cf1f2c55c8d27052e43da932a5d5444bf1ed1f6 Mon Sep 17 00:00:00 2001
From: Cody Russell <bratsche@gnome.org>
Date: Tue, 01 Jun 2010 15:32:18 +0000
Subject: Bug 608218 - GtkOffscreenWindow causes bad window with GtkEntry
We now exit early from gdk_window_register_dnd() to avoid crashing if the
window type is GDK_WINDOW_OFFSCREEN and does not support dnd operations.
This makes it possible to use any dnd-enabled widgets, such as GtkEntry,
within a GtkOffscreenWindow.
---
diff --git a/gdk/x11/gdkdnd-x11.c b/gdk/x11/gdkdnd-x11.c
index 4b7fd85..c0ad26d 100644
--- a/gdk/x11/gdkdnd-x11.c
+++ b/gdk/x11/gdkdnd-x11.c
@@ -3879,6 +3879,9 @@ gdk_window_register_dnd (GdkWindow *window)
g_return_if_fail (window != NULL);
+ if (gdk_window_get_window_type (window) == GDK_WINDOW_OFFSCREEN)
+ return;
+
base_precache_atoms (display);
if (g_object_get_data (G_OBJECT (window), "gdk-dnd-registered") != NULL)
--
cgit v0.8.3.1

View File

@ -1,72 +0,0 @@
GNOME #560671
Upstream svn r22364
Index: gtk+-2.14.7/gdk/directfb/gdkevents-directfb.c
===================================================================
--- gtk+-2.14.7.orig/gdk/directfb/gdkevents-directfb.c 2009-02-21 14:35:01.226582685 +0100
+++ gtk+-2.14.7/gdk/directfb/gdkevents-directfb.c 2009-02-21 14:35:44.242582415 +0100
@@ -162,24 +162,22 @@ dfb_events_process_window_event (DFBWind
static gboolean
gdk_event_send_client_message_by_window (GdkEvent *event,
- GdkWindow *window)
+ GdkWindow *window)
{
- GdkEvent *new_event;
+ DFBUserEvent evt;
g_return_val_if_fail(event != NULL, FALSE);
g_return_val_if_fail(GDK_IS_WINDOW(window), FALSE);
- new_event = gdk_directfb_event_make (window, GDK_CLIENT_EVENT);
- new_event->client.message_type = event->client.message_type;
- new_event->client.data_format = event->client.data_format;
- memcpy(&new_event->client.data,
- &event->client.data,
- sizeof(event->client.data));
+ evt.clazz = DFEC_USER;
+ evt.type = GPOINTER_TO_UINT (GDK_ATOM_TO_POINTER (event->client.message_type));
+ evt.data = (void *) event->client.data.l[0];
+
+ _gdk_display->buffer->PostEvent(_gdk_display->buffer, DFB_EVENT (&evt));
return TRUE;
}
-
static void
dfb_events_dispatch (void)
{
@@ -230,6 +228,32 @@ dfb_events_io_func (GIOChannel *channe
else
dfb_events_process_window_event (&event->window);
break;
+
+ case DFEC_USER:
+ {
+ GList *list;
+
+ GDK_NOTE (EVENTS, g_print (" client_message"));
+
+ for (list = client_filters; list; list = list->next)
+ {
+ GdkClientFilter *filter = list->data;
+ DFBUserEvent *user_event = (DFBUserEvent *) event;
+ GdkAtom type;
+
+ type = GDK_POINTER_TO_ATOM (GUINT_TO_POINTER (user_event->type));
+
+ if (filter->type == type)
+ {
+ if (filter->function (user_event,
+ NULL,
+ filter->data) != GDK_FILTER_CONTINUE)
+ break;
+ }
+ }
+ }
+ break;
+
default:
break;
}

View File

@ -1,26 +0,0 @@
From ac3797dfc1a0290cedfb35a883af1d171ab22be0 Mon Sep 17 00:00:00 2001
From: Benjamin Otte <otte@redhat.com>
Date: Wed, 16 Jun 2010 10:41:40 +0000
Subject: Can't select file on file browser after changing sort order
The row values are 1-indexed not 0-indexed, this has to be taken into
account when producing the new_order array.
https://bugzilla.gnome.org/show_bug.cgi?id=621414
(cherry picked from commit a8e3ce6bb486a4c89799a77abe153d647fea1a69)
---
diff --git a/gtk/gtkfilesystemmodel.c b/gtk/gtkfilesystemmodel.c
index 738b061..7c9e1dc 100644
--- a/gtk/gtkfilesystemmodel.c
+++ b/gtk/gtkfilesystemmodel.c
@@ -739,7 +739,7 @@ gtk_file_system_model_sort (GtkFileSystemModel *model)
continue;
}
- new_order[r] = node->row;
+ new_order[r] = node->row - 1;
r++;
node->row = r;
}
--
cgit v0.8.3.1

View File

@ -1,259 +0,0 @@
GNOME #316087.
Debian #471073, #491611.
Index: gtk+-2.12.11/gtk/gtktreeview.c
===================================================================
--- gtk+-2.12.11.orig/gtk/gtktreeview.c 2008-07-01 15:42:39.000000000 +0200
+++ gtk+-2.12.11/gtk/gtktreeview.c 2008-07-21 15:10:24.382008186 +0200
@@ -1364,6 +1364,8 @@
tree_view->priv->tree_lines_enabled = FALSE;
tree_view->priv->tooltip_column = -1;
+
+ tree_view->priv->post_validation_flag = FALSE;
}
@@ -1998,6 +2000,7 @@
tree_view->priv->prev_width = tree_view->priv->width;
tree_view->priv->width = 0;
+
/* keep this in sync with size_allocate below */
for (list = tree_view->priv->columns, i = 0; list; list = list->next, i++)
{
@@ -2164,18 +2167,20 @@
/* GtkWidget::size_allocate helper */
static void
-gtk_tree_view_size_allocate_columns (GtkWidget *widget)
+gtk_tree_view_size_allocate_columns (GtkWidget *widget,
+ gboolean *width_changed)
{
GtkTreeView *tree_view;
GList *list, *first_column, *last_column;
GtkTreeViewColumn *column;
GtkAllocation allocation;
gint width = 0;
- gint extra, extra_per_column;
+ gint extra, extra_per_column, extra_for_last;
gint full_requested_width = 0;
gint number_of_expand_columns = 0;
gboolean column_changed = FALSE;
gboolean rtl;
+ gboolean update_expand;
tree_view = GTK_TREE_VIEW (widget);
@@ -2210,12 +2215,42 @@
number_of_expand_columns++;
}
- extra = MAX (widget->allocation.width - full_requested_width, 0);
+ /* Only update the expand value if the width of the widget has changed,
+ * or the number of expand columns has changed, or if there are no expand
+ * columns, or if we didn't have an size-allocation yet after the
+ * last validated node.
+ */
+ update_expand = (width_changed && *width_changed == TRUE)
+ || number_of_expand_columns != tree_view->priv->last_number_of_expand_columns
+ || number_of_expand_columns == 0
+ || tree_view->priv->post_validation_flag == TRUE;
+
+ tree_view->priv->post_validation_flag = FALSE;
+
+ if (!update_expand)
+ {
+ extra = tree_view->priv->last_extra_space;
+ extra_for_last = MAX (widget->allocation.width - full_requested_width - extra, 0);
+ }
+ else
+ {
+ extra = MAX (widget->allocation.width - full_requested_width, 0);
+ extra_for_last = 0;
+
+ tree_view->priv->last_extra_space = extra;
+ }
+
if (number_of_expand_columns > 0)
extra_per_column = extra/number_of_expand_columns;
else
extra_per_column = 0;
+ if (update_expand)
+ {
+ tree_view->priv->last_extra_space_per_column = extra_per_column;
+ tree_view->priv->last_number_of_expand_columns = number_of_expand_columns;
+ }
+
for (list = (rtl ? last_column : first_column);
list != (rtl ? first_column->prev : last_column->next);
list = (rtl ? list->prev : list->next))
@@ -2271,6 +2306,12 @@
column->width += extra;
}
+ /* In addition to expand, the last column can get even more
+ * extra space so all available space is filled up.
+ */
+ if (extra_for_last > 0 && list == last_column)
+ column->width += extra_for_last;
+
g_object_notify (G_OBJECT (column), "width");
allocation.width = column->width;
@@ -2288,6 +2329,15 @@
TREE_VIEW_DRAG_WIDTH, allocation.height);
}
+ /* We change the width here. The user has been dragging columns,
+ * and we do need more width than allocated to properly display.
+ * The scrolled window should handle this, if the application
+ * doesn't have one, the tree view can't fit.
+ */
+ tree_view->priv->width = width;
+ if (width_changed)
+ *width_changed = TRUE;
+
if (column_changed)
gtk_widget_queue_draw (GTK_WIDGET (tree_view));
}
@@ -2328,6 +2378,7 @@
gtk_widget_size_allocate (child->widget, &allocation);
}
+ gtk_tree_view_size_allocate_columns (widget, &width_changed);
tree_view->priv->hadjustment->page_size = allocation->width;
tree_view->priv->hadjustment->page_increment = allocation->width * 0.9;
@@ -2336,28 +2387,30 @@
tree_view->priv->hadjustment->upper = MAX (tree_view->priv->hadjustment->page_size, tree_view->priv->width);
if (gtk_widget_get_direction(widget) == GTK_TEXT_DIR_RTL)
- {
+ {
if (allocation->width < tree_view->priv->width)
- {
- if (tree_view->priv->init_hadjust_value)
- {
- tree_view->priv->hadjustment->value = MAX (tree_view->priv->width - allocation->width, 0);
- tree_view->priv->init_hadjust_value = FALSE;
- }
- else if(allocation->width != old_width)
- tree_view->priv->hadjustment->value = CLAMP(tree_view->priv->hadjustment->value - allocation->width + old_width, 0, tree_view->priv->width - allocation->width);
- else
- tree_view->priv->hadjustment->value = CLAMP(tree_view->priv->width - (tree_view->priv->prev_width - tree_view->priv->hadjustment->value), 0, tree_view->priv->width - allocation->width);
- }
- else
- {
- tree_view->priv->hadjustment->value = 0;
- tree_view->priv->init_hadjust_value = TRUE;
- }
- }
+ {
+ if (tree_view->priv->init_hadjust_value)
+ {
+ tree_view->priv->hadjustment->value = MAX (tree_view->priv->width - allocation->width, 0);
+ tree_view->priv->init_hadjust_value = FALSE;
+ }
+ else if (allocation->width != old_width)
+ {
+ tree_view->priv->hadjustment->value = CLAMP (tree_view->priv->hadjustment->value - allocation->width + old_width, 0, tree_view->priv->width - allocation->width);
+ }
+ else
+ tree_view->priv->hadjustment->value = CLAMP (tree_view->priv->width - (tree_view->priv->prev_width - tree_view->priv->hadjustment->value), 0, tree_view->priv->width - allocation->width);
+ }
+ else
+ {
+ tree_view->priv->hadjustment->value = 0;
+ tree_view->priv->init_hadjust_value = TRUE;
+ }
+ }
else
- if (tree_view->priv->hadjustment->value + allocation->width > tree_view->priv->width)
- tree_view->priv->hadjustment->value = MAX (tree_view->priv->width - allocation->width, 0);
+ if (tree_view->priv->hadjustment->value + allocation->width > tree_view->priv->width)
+ tree_view->priv->hadjustment->value = MAX (tree_view->priv->width - allocation->width, 0);
gtk_adjustment_changed (tree_view->priv->hadjustment);
@@ -2397,8 +2450,6 @@
allocation->height - TREE_VIEW_HEADER_HEIGHT (tree_view));
}
- gtk_tree_view_size_allocate_columns (widget);
-
if (tree_view->priv->tree == NULL)
invalidate_empty_focus (tree_view);
@@ -2842,7 +2893,7 @@
gtk_grab_add (widget);
GTK_TREE_VIEW_SET_FLAG (tree_view, GTK_TREE_VIEW_IN_COLUMN_RESIZE);
- column->resized_width = column->width;
+ column->resized_width = column->width - tree_view->priv->last_extra_space_per_column;
/* block attached dnd signal handler */
drag_data = g_object_get_data (G_OBJECT (widget), "gtk-site-data");
@@ -3554,6 +3605,8 @@
{
column->use_resized_width = TRUE;
column->resized_width = new_width;
+ if (column->expand)
+ column->resized_width -= tree_view->priv->last_extra_space_per_column;
gtk_widget_queue_resize (widget);
}
@@ -5661,6 +5714,7 @@
_gtk_rbtree_node_set_height (tree, node, height);
}
_gtk_rbtree_node_mark_valid (tree, node);
+ tree_view->priv->post_validation_flag = TRUE;
return retval;
}
@@ -11516,7 +11570,7 @@
if (GTK_WIDGET_REALIZED (tree_view))
{
gtk_widget_queue_resize (GTK_WIDGET (tree_view));
- gtk_tree_view_size_allocate_columns (GTK_WIDGET (tree_view));
+ gtk_tree_view_size_allocate_columns (GTK_WIDGET (tree_view), NULL);
}
g_signal_emit (tree_view, tree_view_signals[COLUMNS_CHANGED], 0);
Index: gtk+-2.12.11/gtk/gtktreeviewcolumn.c
===================================================================
--- gtk+-2.12.11.orig/gtk/gtktreeviewcolumn.c 2008-07-01 15:42:39.000000000 +0200
+++ gtk+-2.12.11/gtk/gtktreeviewcolumn.c 2008-07-21 14:58:07.660991687 +0200
@@ -2141,6 +2141,7 @@
tree_column->tree_view != NULL &&
GTK_WIDGET_REALIZED (tree_column->tree_view))
{
+ tree_column->use_resized_width = FALSE;
gtk_widget_queue_resize (tree_column->tree_view);
}
Index: gtk+-2.12.11/gtk/gtktreeprivate.h
===================================================================
--- gtk+-2.12.11.orig/gtk/gtktreeprivate.h 2008-07-01 15:42:40.000000000 +0200
+++ gtk+-2.12.11/gtk/gtktreeprivate.h 2008-07-21 14:58:07.660991687 +0200
@@ -236,6 +236,8 @@
guint in_grab : 1;
+ guint post_validation_flag : 1;
+
/* Auto expand/collapse timeout in hover mode */
guint auto_expand_timeout;
@@ -268,6 +270,10 @@
GdkGC *tree_line_gc;
gint tooltip_column;
+
+ gint last_extra_space;
+ gint last_extra_space_per_column;
+ gint last_number_of_expand_columns;
};
#ifdef __GNUC__

View File

@ -1,117 +0,0 @@
GNOME #533456
Upstream svn r22369
Index: gtk+-2.14.7/configure.in
===================================================================
--- gtk+-2.14.7.orig/configure.in 2009-02-21 14:48:32.835086281 +0100
+++ gtk+-2.14.7/configure.in 2009-02-21 14:54:42.690587468 +0100
@@ -1620,7 +1620,7 @@ AC_SUBST(GDK_PIXBUF_XLIB_DEP_LIBS)
AC_SUBST(GDK_PIXBUF_XLIB_DEP_CFLAGS)
if test "x$gdktarget" = "xdirectfb"; then
- DIRECTFB_REQUIRED_VERSION=0.9.26
+ DIRECTFB_REQUIRED_VERSION=1.0.0
AC_MSG_CHECKING(for DirectFB)
if $PKG_CONFIG --atleast-version $DIRECTFB_REQUIRED_VERSION directfb && $PKG_CONFIG --exists cairo-directfb ; then
Index: gtk+-2.14.7/gdk/directfb/gdkcursor-directfb.c
===================================================================
--- gtk+-2.14.7.orig/gdk/directfb/gdkcursor-directfb.c 2009-02-21 14:48:30.306588314 +0100
+++ gtk+-2.14.7/gdk/directfb/gdkcursor-directfb.c 2009-02-21 14:54:42.690587468 +0100
@@ -41,10 +41,6 @@
#include <directfb_version.h>
-#if DIRECTFB_MAJOR_VERSION < 1
-#define u32 __u32
-#define u8 __u8
-#endif
static struct {
const guchar *bits;
Index: gtk+-2.14.7/gdk/directfb/gdkdirectfb.h
===================================================================
--- gtk+-2.14.7.orig/gdk/directfb/gdkdirectfb.h 2009-02-21 14:48:30.374585434 +0100
+++ gtk+-2.14.7/gdk/directfb/gdkdirectfb.h 2009-02-21 14:54:42.690587468 +0100
@@ -80,10 +80,8 @@ GdkVisual * gdk_directfb_visual_by_forma
IDirectFBWindow *gdk_directfb_window_lookup(GdkWindow *window);
IDirectFBSurface *gdk_directfb_surface_lookup(GdkWindow *window);
-#if (DIRECTFB_MAJOR_VERSION >= 1)
GdkWindow *gdk_directfb_create_child_window(GdkWindow *parent,
- IDirectFBSurface *subsurface);
-#endif
+ IDirectFBSurface *subsurface);
G_END_DECLS
Index: gtk+-2.14.7/gdk/directfb/gdkevents-directfb.c
===================================================================
--- gtk+-2.14.7.orig/gdk/directfb/gdkevents-directfb.c 2009-02-21 14:54:41.887087234 +0100
+++ gtk+-2.14.7/gdk/directfb/gdkevents-directfb.c 2009-02-21 14:54:42.690587468 +0100
@@ -419,7 +419,6 @@ gdk_directfb_event_windows_add (GdkWindo
impl->window->CreateEventBuffer (impl->window, &EventBuffer);
}
-#if (DIRECTFB_MAJOR_VERSION >= 1)
void
gdk_directfb_event_windows_remove (GdkWindow *window)
{
@@ -436,7 +435,6 @@ gdk_directfb_event_windows_remove (GdkWi
impl->window->DetachEventBuffer (impl->window, EventBuffer);
/* FIXME: should we warn if (! EventBuffer) ? */
}
-#endif
GdkWindow *
gdk_directfb_child_at (GdkWindow *window,
Index: gtk+-2.14.7/gdk/directfb/gdkprivate-directfb.h
===================================================================
--- gtk+-2.14.7.orig/gdk/directfb/gdkprivate-directfb.h 2009-02-21 14:48:30.330588850 +0100
+++ gtk+-2.14.7/gdk/directfb/gdkprivate-directfb.h 2009-02-21 14:54:42.690587468 +0100
@@ -239,10 +239,8 @@ GdkImage* _gdk_directfb_copy_to_image (G
gint width,
gint height);
-void gdk_directfb_event_windows_add (GdkWindow *window);
-#if (DIRECTFB_MAJOR_VERSION >= 1)
+void gdk_directfb_event_windows_add (GdkWindow *window);
void gdk_directfb_event_windows_remove (GdkWindow *window);
-#endif
GdkGrabStatus gdk_directfb_keyboard_grab (GdkDisplay *display,
GdkWindow *window,
Index: gtk+-2.14.7/gdk/directfb/gdkwindow-directfb.c
===================================================================
--- gtk+-2.14.7.orig/gdk/directfb/gdkwindow-directfb.c 2009-02-21 14:54:17.138584001 +0100
+++ gtk+-2.14.7/gdk/directfb/gdkwindow-directfb.c 2009-02-21 14:54:42.694585602 +0100
@@ -698,9 +698,8 @@ _gdk_windowing_window_destroy (GdkWindow
impl = GDK_WINDOW_IMPL_DIRECTFB (private->impl);
_gdk_selection_window_destroyed (window);
-#if (DIRECTFB_MAJOR_VERSION >= 1)
gdk_directfb_event_windows_remove (window);
-#endif
+
if (window == _gdk_directfb_pointer_grab_window)
gdk_pointer_ungrab (GDK_CURRENT_TIME);
if (window == _gdk_directfb_keyboard_grab_window)
@@ -2651,9 +2650,8 @@ gdk_window_get_frame_extents (GdkWindow
* Given a directfb window and a subsurface of that window
* create a gdkwindow child wrapper
*/
-#if (DIRECTFB_MAJOR_VERSION >= 1)
GdkWindow *gdk_directfb_create_child_window(GdkWindow *parent,
- IDirectFBSurface *subsurface)
+ IDirectFBSurface *subsurface)
{
GdkWindow *window;
GdkWindowObject *private;
@@ -2698,7 +2696,6 @@ GdkWindow *gdk_directfb_create_child_win
return window;
}
-#endif
/*
* The wrapping is not perfect since directfb does not give full access

View File

@ -1,25 +0,0 @@
From 765f8344cd33c29f808a32c4b994c9ca562fe745 Mon Sep 17 00:00:00 2001
From: Tor Lillqvist <tml@iki.fi>
Date: Tue, 22 Jun 2010 18:30:13 +0000
Subject: Generate correct grab broken event for WM_KILLFOCUS
WM_KILLFOCUS means that a keyboard grab (not a pointer grab), if any,
has been broken. I don't think this bug has matterd much as gtk
generates a grab-broken-event signal for both keybord and pointer
grabs being broken anyway.
---
diff --git a/gdk/win32/gdkevents-win32.c b/gdk/win32/gdkevents-win32.c
index 3773e4d..23dcd24 100644
--- a/gdk/win32/gdkevents-win32.c
+++ b/gdk/win32/gdkevents-win32.c
@@ -2539,7 +2539,7 @@ gdk_event_translate (MSG *msg,
if (_gdk_display->keyboard_grab.window != NULL &&
!GDK_WINDOW_DESTROYED (_gdk_display->keyboard_grab.window))
{
- generate_grab_broken_event (_gdk_display->keyboard_grab.window, FALSE, NULL);
+ generate_grab_broken_event (_gdk_display->keyboard_grab.window, TRUE, NULL);
}
/* fallthrough */
--
cgit v0.8.3.1

View File

@ -1,28 +0,0 @@
From 7868c0b58855b61717454bb85f62caf720b8f623 Mon Sep 17 00:00:00 2001
From: Sergey Orlov <wasp82@bk.ru>
Date: Tue, 24 Aug 2010 18:17:15 +0000
Subject: bgo#614006 - GtkFileSystemModel - Make sure to generate node IDs are valid for new files
When a file was inserted during the period that the editable row was
active, the node IDs would not get updated correctly.
Signed-off-by: Federico Mena Quintero <federico@novell.com>
---
diff --git a/gtk/gtkfilesystemmodel.c b/gtk/gtkfilesystemmodel.c
index 7c9e1dc..933420c 100644
--- a/gtk/gtkfilesystemmodel.c
+++ b/gtk/gtkfilesystemmodel.c
@@ -1778,7 +1778,10 @@ _gtk_file_system_model_update_file (GtkFileSystemModel *model,
id = node_get_for_file (model, file);
if (id == 0)
- add_file (model, file, info);
+ {
+ add_file (model, file, info);
+ id = node_get_for_file (model, file);
+ }
node = get_node (model, id);
--
cgit v0.8.3.1

View File

@ -1,97 +0,0 @@
diff -urN gtk+-2.8.20.orig/gdk-pixbuf/gdk-pixbuf-io.c gtk+-2.8.20/gdk-pixbuf/gdk-pixbuf-io.c
--- gtk+-2.8.20.orig/gdk-pixbuf/gdk-pixbuf-io.c 2007-03-04 21:57:07.000000000 +0100
+++ gtk+-2.8.20/gdk-pixbuf/gdk-pixbuf-io.c 2007-03-04 21:56:18.000000000 +0100
@@ -276,8 +276,20 @@
gchar *result = g_strdup (g_getenv ("GDK_PIXBUF_MODULE_FILE"));
if (!result)
- result = g_build_filename (GTK_SYSCONFDIR, "gtk-2.0", "gdk-pixbuf.loaders", NULL);
-
+ {
+#if defined(__linux__) && ( defined(__i386__) || defined (__x86_64__) || defined(__ia64__) )
+# if defined (__i386__)
+ result = g_build_filename (GTK_SYSCONFDIR, "gtk-2.0", "gdk-pixbuf.loaders.32", NULL);
+# else
+ result = g_build_filename (GTK_SYSCONFDIR, "gtk-2.0", "gdk-pixbuf.loaders.64", NULL);
+#endif
+ /* Prefer compat gdk-pixbuf.loaders file if it's usable. */
+ if (g_file_test(result, G_FILE_TEST_EXISTS))
+ return result;
+ g_free (result);
+#endif
+ result = g_build_filename (GTK_SYSCONFDIR, "gtk-2.0", "gdk-pixbuf.loaders", NULL);
+ }
return result;
}
diff -urN gtk+-2.8.20.orig/gtk/gtkrc.c gtk+-2.8.20/gtk/gtkrc.c
--- gtk+-2.8.20.orig/gtk/gtkrc.c 2007-03-04 21:57:07.000000000 +0100
+++ gtk+-2.8.20/gtk/gtkrc.c 2007-03-04 22:01:15.000000000 +0100
@@ -364,7 +364,20 @@
if (im_module_file)
result = g_strdup (im_module_file);
else
- result = g_build_filename (GTK_SYSCONFDIR, "gtk-2.0", "gtk.immodules", NULL);
+ {
+#if defined(__linux__) && ( defined(__i386__) || defined (__x86_64__) || defined(__ia64__) )
+# if defined (__i386__)
+ result = g_build_filename (GTK_SYSCONFDIR, "gtk-2.0", "gtk.immodules.32", NULL);
+# else
+ result = g_build_filename (GTK_SYSCONFDIR, "gtk-2.0", "gtk.immodules.64", NULL);
+# endif
+ /* Prefer compat gtk.immodules file if it's usable. */
+ if (g_file_test(result, G_FILE_TEST_EXISTS))
+ return result;
+ g_free (result);
+#endif
+ result = g_build_filename (GTK_SYSCONFDIR, "gtk-2.0", "gtk.immodules", NULL);
+ }
}
return result;
@@ -433,7 +446,21 @@
else
{
const gchar *home;
- str = g_build_filename (GTK_SYSCONFDIR, "gtk-2.0", "gtkrc", NULL);
+#if defined(__linux__) && ( defined(__i386__) || defined (__x86_64__) || defined(__ia64__) )
+# if defined (__i386__)
+ str = g_build_filename (GTK_SYSCONFDIR, "gtk-2.0", "gtkrc.32", NULL);
+# else
+ str = g_build_filename (GTK_SYSCONFDIR, "gtk-2.0", "gtkrc.64", NULL);
+# endif
+ /* Prefer compat gtkrc if it's usable. */
+ if (!g_file_test(str, G_FILE_TEST_EXISTS))
+ {
+ g_free (str), /* continue in next line */
+#endif
+ str = g_build_filename (GTK_SYSCONFDIR, "gtk-2.0", "gtkrc", NULL);
+#if defined(__linux__) && ( defined(__i386__) || defined (__x86_64__) || defined(__ia64__) )
+ }
+#endif
gtk_rc_add_default_file (str);
g_free (str);
@@ -441,7 +468,21 @@
home = g_get_home_dir ();
if (home)
{
- str = g_build_filename (home, ".gtkrc-2.0", NULL);
+#if defined(__linux__) && ( defined(__i386__) || defined (__x86_64__) || defined(__ia64__) )
+# if defined (__i386__)
+ str = g_build_filename (home, ".gtkrc-2.0.32", NULL);
+# else
+ str = g_build_filename (home, ".gtkrc-2.0.64", NULL);
+# endif
+ /* Prefer compat .gtkrc-2.0 if it's usable. */
+ if (!g_file_test(str, G_FILE_TEST_EXISTS))
+ {
+ g_free (str), /* continue in next line */
+#endif
+ str = g_build_filename (home, ".gtkrc-2.0", NULL);
+#if defined(__linux__) && ( defined(__i386__) || defined (__x86_64__) || defined(__ia64__) )
+ }
+#endif
gtk_rc_add_default_file (str);
g_free (str);
}

View File

@ -1,16 +0,0 @@
diff -Nur gtk+-2.6.10.orig/gdk/x11/gdkproperty-x11.c gtk+-2.6.10/gdk/x11/gdkproperty-x11.c
--- gtk+-2.6.10.orig/gdk/x11/gdkproperty-x11.c 2005-11-16 17:33:16.000000000 +0100
+++ gtk+-2.6.10/gdk/x11/gdkproperty-x11.c 2005-11-16 17:37:15.000000000 +0100
@@ -530,11 +530,8 @@
*/
get_length = length + 3;
if (get_length > G_MAXLONG)
- {
- g_warning ("gdk_property_get(): length value has wrapped in calculation "
- "(did you pass G_MAXLONG?)");
get_length = G_MAXLONG;
- }
+
/* To fail, either the user passed 0 or G_MAXULONG */
get_length = get_length / 4;
if (get_length == 0)

View File

@ -1,32 +0,0 @@
diff -urN gtk+-2.14.4.old/configure gtk+-2.14.4/configure
--- gtk+-2.14.4.old/configure 2008-11-04 17:41:20.000000000 -0200
+++ gtk+-2.14.4/configure 2008-11-04 17:45:07.000000000 -0200
@@ -29356,8 +29356,11 @@
if echo "$included_loaders" | egrep '(^|,)png($|,)' > /dev/null; then
STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBPNG"
fi
+ if echo "$included_loaders" | egrep '(^|,)jasper($|,)' > /dev/null; then
+ STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBJASPER"
+ fi
else
- STATIC_LIB_DEPS="$LIBTIFF $LIBJPEG $LIBPNG"
+ STATIC_LIB_DEPS="$LIBTIFF $LIBJPEG $LIBPNG $LIBJASPER"
fi
# Checks to see whether we should include mediaLib
diff -urN gtk+-2.14.4.old/configure.in gtk+-2.14.4/configure.in
--- gtk+-2.14.4.old/configure.in 2008-10-17 01:06:38.000000000 -0300
+++ gtk+-2.14.4/configure.in 2008-11-04 17:44:57.000000000 -0200
@@ -1163,8 +1163,11 @@
if echo "$included_loaders" | egrep '(^|,)png($|,)' > /dev/null; then
STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBPNG"
fi
+ if echo "$included_loaders" | egrep '(^|,)jasper($|,)' > /dev/null; then
+ STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBJASPER"
+ fi
else
- STATIC_LIB_DEPS="$LIBTIFF $LIBJPEG $LIBPNG"
+ STATIC_LIB_DEPS="$LIBTIFF $LIBJPEG $LIBPNG $LIBJASPER"
fi
# Checks to see whether we should include mediaLib

View File

@ -1,20 +0,0 @@
Index: gtk+2.0-2.14.0/gdk/directfb/gdktestutils-directfb.c
===================================================================
--- gtk+2.0-2.14.0.orig/gdk/directfb/gdktestutils-directfb.c 2008-09-04 06:36:10.000000000 +0200
+++ gtk+2.0-2.14.0/gdk/directfb/gdktestutils-directfb.c 2008-09-05 00:36:44.000000000 +0200
@@ -175,7 +175,6 @@
evt.clazz = DFEC_WINDOW;
evt.type = (key_pressrelease == GDK_KEY_PRESS) ? DWET_KEYDOWN : DWET_KEYUP;
- evt.flags = DWEF_NONE;
evt.window_id = impl->dfb_id;
evt.x = MAX(x, 0);
evt.y = MAX(y, 0);
@@ -241,7 +240,6 @@
evt.clazz = DFEC_WINDOW;
evt.type = (button_pressrelease == GDK_BUTTON_PRESS) ? DWET_BUTTONDOWN : DWET_BUTTONUP;
- evt.flags = DWEF_NONE;
evt.window_id = impl->dfb_id;
evt.x = MAX(x, 0);
evt.y = MAX(y, 0);

View File

@ -1,19 +0,0 @@
Index: gtk+2.0-2.14.3/modules/printbackends/test/gtkprintbackendtest.c
===================================================================
--- gtk+2.0-2.14.3.orig/modules/printbackends/test/gtkprintbackendtest.c 2008-09-24 21:07:22.000000000 -0300
+++ gtk+2.0-2.14.3/modules/printbackends/test/gtkprintbackendtest.c 2008-09-24 21:07:28.000000000 -0300
@@ -35,12 +35,12 @@
#include <glib/gi18n-lib.h>
-#include "gtkprintoperation.h"
+#include <gtk/gtk.h>
#include "gtkprintbackend.h"
#include "gtkprintbackendtest.h"
-#include "gtkprinter.h"
+#include <gtk/gtkunixprint.h>
#include "gtkprinter-private.h"
typedef struct _GtkPrintBackendTestClass GtkPrintBackendTestClass;

View File

@ -1,353 +0,0 @@
GNOME 502446; Adds XSETTINGS support for immodule
--- a/gdk/x11/gdksettings.c 2008-04-01 11:12:11.000000000 +0200
+++ b/gdk/x11/gdksettings.c 2008-04-01 11:41:10.000000000 +0200
@@ -65,7 +65,8 @@
"Xft/RGBA\0" "gtk-xft-rgba\0"
"Xft/DPI\0" "gtk-xft-dpi\0"
"Net/FallbackIconTheme\0" "gtk-fallback-icon-theme\0"
- "Gtk/TouchscreenMode\0" "gtk-touchscreen-mode\0";
+ "Gtk/TouchscreenMode\0" "gtk-touchscreen-mode\0"
+ "Gtk/IMModule\0" "gtk-im-module\0";
static const struct
{
@@ -107,5 +108,6 @@
{ 1197, 1206 },
{ 1219, 1227 },
{ 1239, 1261 },
- { 1285, 1305 }
+ { 1285, 1305 },
+ { 1326, 1339 }
};
--- a/gtk/gtkimmulticontext.c 2008-04-01 11:12:11.000000000 +0200
+++ b/gtk/gtkimmulticontext.c 2008-04-01 11:12:18.000000000 +0200
@@ -85,6 +85,7 @@
gint n_chars,
GtkIMMulticontext *multicontext);
+static const gchar *user_context_id = NULL;
static const gchar *global_context_id = NULL;
G_DEFINE_TYPE (GtkIMMulticontext, gtk_im_multicontext, GTK_TYPE_IM_CONTEXT)
@@ -141,6 +142,7 @@
GtkIMMulticontext *multicontext = GTK_IM_MULTICONTEXT (object);
gtk_im_multicontext_set_slave (multicontext, NULL, TRUE);
+ g_free (multicontext->context_id);
G_OBJECT_CLASS (gtk_im_multicontext_parent_class)->finalize (object);
}
@@ -224,35 +226,68 @@
{
GtkIMContext *slave;
- if (!global_context_id)
- {
- gchar *locale = _gtk_get_lc_ctype ();
- global_context_id = _gtk_im_module_get_default_context_id (locale);
- g_free (locale);
- }
-
+ if (!global_context_id)
+ {
+ if (user_context_id)
+ global_context_id = user_context_id;
+ else
+ global_context_id = _gtk_im_module_get_default_context_id (multicontext->priv->client_window);
+ }
slave = _gtk_im_module_create (global_context_id);
gtk_im_multicontext_set_slave (multicontext, slave, FALSE);
g_object_unref (slave);
- multicontext->context_id = global_context_id;
+ multicontext->context_id = g_strdup (global_context_id);
}
return multicontext->slave;
}
static void
+im_module_setting_changed (GtkSettings *settings,
+ gpointer data)
+{
+ global_context_id = NULL;
+}
+
+
+static void
gtk_im_multicontext_set_client_window (GtkIMContext *context,
GdkWindow *window)
{
GtkIMMulticontext *multicontext = GTK_IM_MULTICONTEXT (context);
-
- GtkIMContext *slave = gtk_im_multicontext_get_slave (multicontext);
+ GtkIMContext *slave;
+ GdkScreen *screen;
+ GtkSettings *settings;
+ gboolean connected;
multicontext->priv->client_window = window;
-
+
+ slave = gtk_im_multicontext_get_slave (multicontext);
+
if (slave)
gtk_im_context_set_client_window (slave, window);
+
+ if (window == NULL)
+ return;
+
+ screen = gdk_drawable_get_screen (GDK_DRAWABLE (window));
+ if (screen)
+ settings = gtk_settings_get_for_screen (screen);
+ else
+ settings = gtk_settings_get_default ();
+
+ connected = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (settings),
+ "gtk-im-module-connected"));
+ if (!connected)
+ {
+ g_signal_connect (settings, "notify::gtk-im-module",
+ G_CALLBACK (im_module_setting_changed), NULL);
+ g_object_set_data (G_OBJECT (settings), "gtk-im-module-connected",
+ GINT_TO_POINTER (TRUE));
+
+ global_context_id = NULL;
+ }
}
static void
@@ -298,7 +333,8 @@
* using before, get rid of the old slave and create a new one
* for the new global context type.
*/
- if (!multicontext->context_id ||
+ if (multicontext->context_id == NULL ||
+ global_context_id == NULL ||
strcmp (global_context_id, multicontext->context_id) != 0)
gtk_im_multicontext_set_slave (multicontext, NULL, FALSE);
@@ -459,7 +495,8 @@
gtk_im_context_reset (GTK_IM_CONTEXT (context));
- global_context_id = id;
+ user_context_id = id;
+ global_context_id = NULL;
gtk_im_multicontext_set_slave (context, NULL, FALSE);
}
}
@@ -500,12 +537,22 @@
const GtkIMContextInfo **contexts;
guint n_contexts, i;
GSList *group = NULL;
+ GtkWidget *menuitem;
+ menuitem = gtk_radio_menu_item_new_with_label (group, Q_("input method menu|System"));
+ if (!user_context_id)
+ gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (menuitem), TRUE);
+ group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (menuitem));
+ g_object_set_data (G_OBJECT (menuitem), I_("gtk-context-id"), NULL);
+ g_signal_connect (menuitem, "activate", G_CALLBACK (activate_cb), context);
+
+ gtk_widget_show (menuitem);
+ gtk_menu_shell_append (menushell, menuitem);
+
_gtk_im_module_list (&contexts, &n_contexts);
- for (i=0; i < n_contexts; i++)
+ for (i = 0; i < n_contexts; i++)
{
- GtkWidget *menuitem;
const gchar *translated_name;
#ifdef ENABLE_NLS
if (contexts[i]->domain && contexts[i]->domain[0])
@@ -562,11 +609,9 @@
menuitem = gtk_radio_menu_item_new_with_label (group,
translated_name);
- if ((global_context_id == NULL && group == NULL) ||
- (global_context_id &&
- strcmp (contexts[i]->context_id, global_context_id) == 0))
- gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (menuitem),
- TRUE);
+ if ((user_context_id &&
+ strcmp (contexts[i]->context_id, user_context_id) == 0))
+ gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (menuitem), TRUE);
group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (menuitem));
--- a/gtk/gtkimmulticontext.h 2008-04-01 11:12:11.000000000 +0200
+++ b/gtk/gtkimmulticontext.h 2008-04-01 11:12:18.000000000 +0200
@@ -45,7 +45,7 @@
GtkIMMulticontextPrivate *priv;
- const gchar *context_id;
+ gchar *context_id;
};
struct _GtkIMMulticontextClass
--- a/gtk/gtksettings.c 2008-04-01 11:12:11.000000000 +0200
+++ b/gtk/gtksettings.c 2008-04-01 11:12:18.000000000 +0200
@@ -106,7 +106,8 @@
PROP_PRINT_PREVIEW_COMMAND,
PROP_ENABLE_MNEMONICS,
PROP_ENABLE_ACCELS,
- PROP_RECENT_FILES_LIMIT
+ PROP_RECENT_FILES_LIMIT,
+ PROP_IM_MODULE
};
@@ -805,6 +806,20 @@
GTK_PARAM_READWRITE),
NULL);
g_assert (result == PROP_RECENT_FILES_LIMIT);
+
+ /**
+ * GtkSettings:gtk-im-module:
+ *
+ * Which IM module should be used by default.
+ */
+ result = settings_install_property_parser (class,
+ g_param_spec_string ("gtk-im-module",
+ P_("Default IM module"),
+ P_("Which IM module should be used by default"),
+ NULL,
+ GTK_PARAM_READWRITE),
+ NULL);
+ g_assert (result == PROP_IM_MODULE);
}
static void
--- a/gtk/gtkimmodule.c 2008-04-01 11:12:11.000000000 +0200
+++ b/gtk/gtkimmodule.c 2008-04-01 11:12:18.000000000 +0200
@@ -37,6 +37,8 @@
#include <pango/pango-utils.h>
#include "gtkimmodule.h"
#include "gtkimcontextsimple.h"
+#include "gtksettings.h"
+#include "gtkmain.h"
#include "gtkrc.h"
#include "gtkintl.h"
#include "gtkalias.h"
@@ -471,7 +473,7 @@
#endif
GtkIMContextInfo simple_context_info = {
SIMPLE_ID,
- N_("Default"),
+ N_("Simple"),
GETTEXT_PACKAGE,
#ifdef GTK_LOCALEDIR
GTK_LOCALEDIR,
@@ -599,17 +601,15 @@
/**
* _gtk_im_module_get_default_context_id:
- * @locale: a locale id in the form 'en_US'
+ * @client_window: a window
*
- * Return the context_id of the best IM context type
- * for the given locale ID.
+ * Return the context_id of the best IM context type
+ * for the given window.
*
* Return value: the context ID (will never be %NULL)
- * the value is newly allocated and must be freed
- * with g_free().
**/
const gchar *
-_gtk_im_module_get_default_context_id (const gchar *locale)
+_gtk_im_module_get_default_context_id (GdkWindow *client_window)
{
GSList *tmp_list;
const gchar *context_id = NULL;
@@ -617,6 +617,8 @@
gint i;
gchar *tmp_locale, *tmp;
const gchar *envvar;
+ GdkScreen *screen;
+ GtkSettings *settings;
if (!contexts_hash)
gtk_im_module_initialize ();
@@ -624,12 +626,41 @@
envvar = g_getenv ("GTK_IM_MODULE");
if (envvar &&
(strcmp (envvar, SIMPLE_ID) == 0 ||
- g_hash_table_lookup (contexts_hash, envvar)))
- return g_strdup (envvar);
+ g_hash_table_lookup (contexts_hash, envvar)))
+ return envvar;
+
+ /* Check if the certain immodule is set in XSETTINGS.
+ */
+ if (client_window != NULL && GDK_IS_DRAWABLE (client_window))
+ {
+ screen = gdk_drawable_get_screen (GDK_DRAWABLE (client_window));
+ if (screen)
+ settings = gtk_settings_get_for_screen (screen);
+ else
+ settings = gtk_settings_get_default ();
+
+ g_object_get (G_OBJECT (settings), "gtk-im-module", &tmp, NULL);
+ if (tmp)
+ {
+ if (strcmp (tmp, SIMPLE_ID) == 0)
+ context_id = SIMPLE_ID;
+ else
+ {
+ GtkIMModule *module;
+ module = g_hash_table_lookup (contexts_hash, tmp);
+ if (module)
+ context_id = module->contexts[0]->context_id;
+ }
+ g_free (tmp);
+
+ if (context_id)
+ return context_id;
+ }
+ }
/* Strip the locale code down to the essentials
*/
- tmp_locale = g_strdup (locale);
+ tmp_locale = _gtk_get_lc_ctype ();
tmp = strchr (tmp_locale, '.');
if (tmp)
*tmp = '\0';
@@ -642,7 +673,7 @@
{
GtkIMModule *module = tmp_list->data;
- for (i=0; i<module->n_contexts; i++)
+ for (i = 0; i < module->n_contexts; i++)
{
const gchar *p = module->contexts[i]->default_locales;
while (p)
@@ -665,5 +696,5 @@
g_free (tmp_locale);
- return g_strdup (context_id ? context_id : SIMPLE_ID);
+ return context_id ? context_id : SIMPLE_ID;
}
--- a/gtk/gtkimmodule.h 2008-04-01 11:12:11.000000000 +0200
+++ b/gtk/gtkimmodule.h 2008-04-01 11:12:18.000000000 +0200
@@ -38,10 +38,10 @@
/* Functions for use within GTK+
*/
-void _gtk_im_module_list (const GtkIMContextInfo ***contexts,
- guint *n_contexts);
-GtkIMContext *_gtk_im_module_create (const gchar *context_id);
-const gchar * _gtk_im_module_get_default_context_id (const gchar *lang);
+void _gtk_im_module_list (const GtkIMContextInfo ***contexts,
+ guint *n_contexts);
+GtkIMContext * _gtk_im_module_create (const gchar *context_id);
+const gchar * _gtk_im_module_get_default_context_id (GdkWindow *client_window);
/* The following entry points are exported by each input method module
*/

View File

@ -1,11 +0,0 @@
#!/usr/bin/make -f
all: sh.vars mk.vars
clean:
rm -f sh.vars mk.vars
mk.vars: vars.build vars
$(SHELL) vars.build vars make > $@
sh.vars: vars.build vars
$(SHELL) vars.build vars shell > $@

View File

@ -1,22 +0,0 @@
#!/bin/sh
# i486 i386 i486 i586 pentium pentiumpro
if [ $(basename $0) = archmap ];then
if [ -z $1 ];then
arch=$(dpkg --print-gnu-build-architecture)
else
arch=$1
fi
else
if [ -z $arch ];then
arch=$(dpkg --print-gnu-build-architecture)
fi
fi
set -- $(egrep ".* $arch( .*|$)" debian/scripts/archmap)
if [ -z $2 ];then
arch=$arch
else
arch=$2
fi
if [ $(basename $0) = archmap ];then
echo $arch
fi

View File

@ -1,56 +0,0 @@
#!/bin/sh
# GNU C library version detection shell script.
# Copyright 1999 Branden Robinson.
# Licensed under the GNU General Public License, version 2. See the file
# /usr/share/common-licenses/GPL or <http://www.gnu.org/copyleft/gpl.txt>.
# This script probably makes about a billion too many assumptions, but it's
# better than hardcoding the glibc version on a per-architecture basis.
set -e
usage () {
echo "Usage: getglibcversion [option]"
echo " Where [option] may be one of:"
echo " --major return major version only"
echo " --minor return minor version only"
echo " --point return ittybitty version only"
echo "With no option, returns major.minor.ittybitty .";
}
case $# in
0) ;;
1) case $1 in
--help) usage
exit 0 ;;
--major) RETURN=1 ;;
--minor) RETURN=2 ;;
--point) RETURN=3 ;;
*) exec 1>&2
usage
exit 1 ;;
esac ;;
*) exec 1>&2
usage
exit 1 ;;
esac
LIBCLIST=$(cd /lib && ls libc-*.so)
case $(echo $LIBCLIST | wc -l | awk '{print $1}') in
0) echo "No GNU C library found! Aborting." >&2
exit 1 ;;
1) ;;
*) echo "Multiple versions of GNU C library found! Aborting." >&2
exit 1 ;;
esac
LIBCVERSION=$(echo $LIBCLIST | sed 's/libc-//;s/\.so//')
if [ -z $RETURN ]; then
echo $LIBCVERSION
else
echo $LIBCVERSION | cut -d. -f$RETURN
fi
exit 0

198
debian/scripts/lib vendored
View File

@ -1,198 +0,0 @@
#!/bin/sh
if [ $(basename $0) = lib ];then
make -C debian/scripts sh.vars
. debian/scripts/sh.vars
fi
fetchmsg() {
local msg
msg=$1;shift
eval echo $(sed -ne "s/^$(BASENAME):$msg://p" debian/scripts/messages)
}
START() {
echo -n "$(fetchmsg START "$@") "
}
OK() {
fetchmsg OK "$@"
}
FAILED() {
fetchmsg FAILED "$@"
}
ALREADY_DONE() {
fetchmsg ALREADY_DONE "$@"
}
BASENAME() {
local base
if [ "$cmd" ];then
base=$cmd
else
base=${0##*/}
fi
if [ x$base = x ];then
echo "Danger, Will Robinson, Danger!" 1>&2
echo "Bash is very confused." 1>&2
exit 1
fi
if [ x$base = xlib ];then
echo "You can't call this directly." 1>&2
echo "This is a library that should be sourced." 1>&2
exit 1
fi
echo $base
}
file2cat() {
$(decompress_prog $1) $1
}
debug() {
echo "$@"
eval "$@"
}
decompress_prog() {
local which
which="cat"
[ $1 != ${1%.tgz} -o $1 != ${1%.gz} -o $1 != ${1%.Z} ] && which="gunzip -c"
[ $1 != ${1%.bz2} ] && which="bunzip2 -c"
[ $1 != ${1%.bz} ] && which="bunzip -c"
echo $which
}
compress_ext() {
local which
which=""
[ $1 != ${1%.gz} ] && which=gz
[ $1 != ${1%.Z} ] && which=Z
[ $1 != ${1%.bz2} ] && which=bz2
[ $1 != ${1%.bz} ] && which=bz
echo $which
}
filetype_detect() {
local which f
which=""
f=$(echo "$1" | sed 's|:::.*||')
[ $f != ${f%.jar} ] && which=jarfile
[ $f != ${f%.zip} ] && which=zipfile
[ $f != ${f%.tgz} ] && which=tarball
[ $f != ${f%.tar.$(compress_ext $f)} ] && which=tarball
[ $f != ${f%.tar} ] && which=tarball
[ $f != ${f%.diff.$(compress_ext $f)} -o $1 != ${1%.patch.$(compress_ext $1)} ] && which=patch
[ $f != ${f%.diff} -o $1 != ${1%.patch} ] && which=patch
[ $f != ${f%.dsc} ] && which=dsc
echo $which
}
extract_tar() {
local which file dir curd
dir="$1"
shift
curd=$(pwd)
while [ $# -gt 0 ];do
file="$1"
[ "$file" = "${1#/}" ] && file="$curd/$file"
case "$(filetype_detect $file)" in
"jarfile") (cd $dir;fastjar -xf $file);;
"zipfile") (cd $dir;miniunzip -x $file);;
"tarball") $(decompress_prog $file) $file | (cd $dir;tar xv);;
*) echo "unsupported tarball";;
esac
shift
done
}
do.patching() {
filetmpl=\$d/\$f
reversesort=""
reversepatch=""
case "$cmd" in
source.patch)
mkdir -p $SOURCE_DIR/$TAR_DIR
patch_dirs="$SRC_PATCH_DIR $SRC_ADD_PATCH_DIR"
stampfiletmpl=\$STAMP_DIR/\$d/\$f
logtmpl=\$STAMP_DIR/log/\$d/\$f
dirprep="\$STAMP_DIR/log/\$d \$STAMP_DIR/\$d"
patchapplydirtmpl=\$SOURCE_DIR/\$TAR_DIR
;;
patch.apply)
mkdir -p $SOURCE_DIR/$TAR_DIR $STAMP_DIR/patches
patch_dirs="$PATCH_DIR $ADD_PATCH_DIR"
stampfiletmpl=\$STAMP_DIR/patches/\$f
logtmpl=\$STAMP_DIR/log/\$d/\$f
dirprep=\$STAMP_DIR/log/\$d
patchapplydirtmpl=\$SOURCE_DIR/\$TAR_DIR
;;
fix.source.patch)
if [ "$DBS_UNIFIED" -o ! -e debian/fixpatch ];then
exit
fi
mkdir -p $STAMP_DIR/fixpatch
patch_dirs=debian/fixpatch
stampfiletmpl="$STAMP_DIR/fixpatch/\$(basename \$f)"
logtmpl=\$STAMP_DIR/log/fixpatch/\$f
dirprep=\$STAMP_DIR/log/fixpatch
patchapplydirtmpl=upstream
;;
unfix.source.patch)
if [ "$DBS_UNIFIED" -o ! -e debian/fixpatch ];then
exit
fi
mkdir -p $STAMP_DIR/fixpatch
patch_dirs=debian/fixpatch
stampfiletmpl="$STAMP_DIR/fixpatch/\$(basename \$f)"
logtmpl=\$STAMP_DIR/log/fixpatch/\$f
dirprep=\$STAMP_DIR/log/fixpatch
patchapplydirtmpl=upstream
reversesort=-r
reversepatch=-R
;;
esac
for d in $patch_dirs;do
if [ ! -d $d ];then
continue
fi
eval mkdir -p $dirprep
for f in `(cd $d;find -type f ! -name 'chk-*' 2>/dev/null )|sort $reversesort`;do
eval stampfile=$stampfiletmpl
eval log=$logtmpl
eval file=$filetmpl
eval patchapplydir=$patchapplydirtmpl
if [ ! -e $stampfile ];then
START $file
if file2cat $file | (cd $patchapplydir;patch -p1 $reversepatch) > $log;then
OK $file
touch $stampfile
else
FAILED $file
exit 1
fi
else
ALREADY_DONE $file
fi
done
done
}
#
# External api functions.
#
source.clean() {
if [ "$DBS_UNIFIED" ];then
exit
fi
rm -rf $SOURCE_DIR $STAMP_DIR/upstream $STAMP_DIR/patches
rm -f $STAMP_DIR/{source.{clean,build,make}}
return
if [ x$SOURCE_DIR = x ];then
files=`find -type f -maxdepth 1 -mindepth 1`
dirs=`find -type d -maxdepth 1 -mindepth 1 ! -name 'debian' ! -name 'upstream'`
echo files=\"$files\"
echo dirs=\"$dirs\"
fi
}
source.patch() { cmd=source.patch; do.patching; }
fix.source.patch() { cmd=fix.source.patch; do.patching; }
unfix.source.patch() { cmd=unfix.source.patch; do.patching; }
patch.apply() { cmd=patch.apply; do.patching; }
if [ $(basename $0) = lib ];then
$1
fi

View File

@ -1,29 +0,0 @@
fix.source.patch:START:"Fixing upstream patch $1"
fix.source.patch:OK:"successful."
fix.source.patch:FAILED:"failed!"
fix.source.patch:ALREADY_DONE:"upstream patch fixup $1 already applied!"
unfix.source.patch:START:"Unfixing upstream patch $1
unfix.source.patch:OK:"successful."
unfix.source.patch:FAILED:"failed!
unfix.source.patch:ALREADY_DONE:"upstream patch fixup $1 already reversed!"
patch.unapply:START:"Reversing patch $1"
patch.unapply:OK:"successful."
patch.unapply:FAILED:"failed!"
patch.unapply:ALREADY_DONE:"Patch $1 not applied!"
patch.apply:START:"Applying patch $1"
patch.apply:OK:"successful."
patch.apply:FAILED:"failed!"
patch.apply:ALREADY_DONE:"Patch $1 already applied!"
source.patch:START:"Applying upstream patch $1"
source.patch:OK:"successful."
source.patch:FAILED:"failed!"
source.patch:ALREADY_DONE:"upstream patch $1 already applied!"
source.unpack:START:"Extracting upstream tarball $1"
source.unpack:OK:"successful."
source.unpack:FAILED:"failed!"
source.unpack:ALREADY_DONE:"upstream tarball $1 already extracted!"

View File

@ -1,32 +0,0 @@
#!/bin/sh
make -C debian/scripts sh.vars
. debian/scripts/sh.vars
. debian/scripts/lib
mkdir -p $STAMP_DIR/upstream/tarballs/ $SOURCE_DIR
if [ ! -z "$SRC_TAR_DIR" -a -d "$SRC_TAR_DIR" ];then
files=$(find $SRC_TAR_DIR -type f|sort)
else
VER=$(dpkg-parsechangelog 2>&1|egrep ^Version|cut -d " " -f 2|cut -d "-" -f 1)
SRC=$(dpkg-parsechangelog 2>&1|egrep ^Source|cut -d " " -f 2-)
files=../${SRC}_${VER}.orig.tar.gz
fi
for f in $files;do
stampfile=$STAMP_DIR/upstream/tarballs/`basename $f`
if [ ! -e $stampfile ];then
START $f
if extract_tar ${SOURCE_DIR:-.} $f > $stampfile.log;then
if [ x$SOURCE_DIR = x ];then
mkdir -p $STAMP_DIR/upstream/files/tarballs
cp $stampfile.log $STAMP_DIR/upstream/files/tarballs/`basename $f`.list
fi
OK $f
touch $stampfile
else
FAILED $f
exit 1
fi
else
ALREADY_DONE $f
fi
done

31
debian/scripts/vars vendored
View File

@ -1,31 +0,0 @@
# This file is NOT a shell script.
#
# This file gets included by both debian/rules (make) AND the scripts in
# debian/scripts (bash)
#
# Where to cd to to unpack all the tarballs.
SOURCE_DIR=build-tree
# For a single pkg, this is the directory that is embedded in the tarball.
# For multiple pkgs, this is null.
TAR_DIR=gtk+-2.8.20
# Where to place all the stamp files. This directory can be removed, and
# all the targets will then be rerun.
STAMP_DIR=debian/stampdir
# When sys-build.mk is used to build the source, this is the target(s) to
# run.
BUILD_TARGET=
# When cleaning the source, during diff generation, if this is set, this
# target will be called in debian/rules. This allows for pkgs that have
# complicated cleaning rules.
CLEAN_TARGET_EXTERNAL=
# Whether to die if the source cleaning fails.
CLEAN_IGNORE=yes
# The clean target to run. Defaults to clean.
CLEAN_TARGET=distclean
# Files to exclude from the diff.
DIFF_EXCLUDE="Makefile.in configure"
# Where the patches are located(duh!).
PATCH_DIR=debian/patches
SRC_PATCH_DIR=upstream/patches
SRC_TAR_DIR=upstream/tarballs

View File

@ -1,17 +0,0 @@
#!/usr/bin/make -f
sed_cmd=''
cat $1 | while read REPLY; do
case "$REPLY" in
\#*|"") continue;;
*)
var=$(echo $REPLY|sed 's/\([^=]*\)=.*/\1/')
eval $REPLY
if [ $2 = "make" ]; then
eval echo "$var=\$$var"
else
eval echo "$var=\\\"\$$var\\\""
fi
;;
esac
done

1
debian/sources vendored
View File

@ -1 +0,0 @@
upstream tar ../gtk+-2.8.20.tar.gz

167
debian/sys-build.mk vendored
View File

@ -1,167 +0,0 @@
#!/usr/bin/make -f
# Separate tarball/patch build system by Adam Heath <doogie@debian.org>
# The magic targets that you need to concern yourself with are:
#
# source.build: Unpacks upstream tarballs, optionally applies patches
# to fix the upstream patches, then applies upstream
# patches.
# source.make: Applies debian patches.
# source.clean: Cleans the build directory, then unfixes the upstream
# patches.
# source.compile: Will compile the source for you. Please check
# debian/scripts/vars.
# source.cmd: When calling this target, if you define a variable
# SOURCE_CMD, it will run that command in the build
# tree.
# make-diff: Generates debian.diff in the current directory which
# contains all edits that are currently in the build
# tree.
#
# Nothing in this file should require any editting. Please look at
# debian/scripts/vars for things to change for the local environment.
#
# debian/rules target command
# ----------------------------------------------------------------
# clean: $(MAKE) -f debian/sys-build.mk source.clean
# build: $(MAKE) -f debian/sys-build.mk source.compile
# for simple systems.
# build: $(MAKE) -f debian/sys-build.mk source.make
# and, in the rules file, you can
# build the targets you want.
SHELL=/bin/bash
ifndef NOISY
.SILENT:
endif
include debian/scripts/vars
# remove quotes
DIFF_EXCLUDE:=$(patsubst %,-x %,$(shell echo $(DIFF_EXCLUDE)))
ifdef TAR_DIR
BUILD_TREE=$(SOURCE_DIR)/$(TAR_DIR)
else
BUILD_TREE=$(SOURCE_DIR)
endif
SOURCE_CMD=:
ifdef CLEAN_IGNORE
CLEAN_CMD=-
CLEAN_SH=
else
CLEAN_CMD=
CLEAN_SH=
endif
ifndef CLEAN_TARGET
CLEAN_TARGET=clean
endif
foo:
echo $(DIFF_EXCLUDE)
make-diff:
mv $(BUILD_TREE) bak
$(MAKE) -f debian/sys-build.mk source.clean
$(MAKE) -f debian/sys-build.mk source.make
mv $(BUILD_TREE) $(BUILD_TREE).orig
mv bak $(BUILD_TREE)
ifdef TAR_DIR
ifdef CLEAN_TARGET_EXTERNAL
$(CLEAN_CMD)$(MAKE) -f debian/rules $(CLEAN_TARGET_EXTERNAL)
else
$(CLEAN_CMD)$(MAKE) -C $(BUILD_TREE) $(CLEAN_TARGET)
endif
-(cd $(SOURCE_DIR);diff -ruN $(TAR_DIR).orig $(TAR_DIR) $(DIFF_EXCLUDE)) > debian.diff
else
ifdef CLEAN_TARGET_EXTERNAL
$(CLEAN_CMD)$(MAKE) -f debian/rules $(CLEAN_TARGET_EXTERNAL)
else
$(CLEAN_CMD)for a in $(BUILD_TREE)/*;do $(MAKE) -C $$a $(CLEAN_TARGET);done
endif
-(diff -ruN $(BUILD_TREE).orig $(BUILD_TREE) $(DIFF_EXCLUDE)) > debian.diff
if [ ! -s debian.diff ];then\
rm debian.diff;\
fi
endif
rm -rf $(BUILD_TREE).orig
patchapply: $(STAMP_DIR)/patchapply
$(STAMP_DIR)/patchapply: $(STAMP_DIR)/source.build $(STAMP_DIR)
$(SHELL) debian/scripts/lib patch.apply
touch $@
rm -f $(STAMP_DIR)/patchunapply
patchunapply: $(STAMP_DIR)/patchunapply
$(STAMP_DIR)/patchunapply: $(STAMP_DIR)/source.build $(STAMP_DIR)
$(SHELL) debian/scripts/lib patch.unapply
touch $@
rm -f $(STAMP_DIR)/patchapply
.export: SOURCE_TREE
#
# The rules that really do the work all start with $(STAMPDIR)
# This little trick allows us to use stamp files to keep us from
# having to rerun long targets over and over. It also puts
# all stamp files in one place, for easy cleaning.
#
# If a stampdir rule depends on something else, be sure it is
# another stampdir rule. Depending on base rule won't work.
#
source.build: $(STAMP_DIR)/source.build
STAMP_DIR_TARGETS+= $(STAMP_DIR)/source.build
$(STAMP_DIR)/source.build: $(STAMP_DIR)/source.unpack $(STAMP_DIR)/source.patch $(STAMP_DIR)
touch $@
source.make: $(STAMP_DIR)/source.make
STAMP_DIR_TARGETS+= $(STAMP_DIR)/source.make
$(STAMP_DIR)/source.make: $(STAMP_DIR)/source.build $(STAMP_DIR)/patchapply $(STAMP_DIR)
touch $@
source.unpack: $(STAMP_DIR)/source.unpack
STAMP_DIR_TARGETS+= $(STAMP_DIR)/source.unpack
$(STAMP_DIR)/source.unpack: $(STAMP_DIR)
$(SHELL) debian/scripts/source.unpack
touch $@
source.patch: $(STAMP_DIR)/source.patch
STAMP_DIR_TARGETS+= $(STAMP_DIR)/source.patch
$(STAMP_DIR)/source.patch: $(STAMP_DIR)/source.unpack $(STAMP_DIR)/fix.source.patch $(STAMP_DIR)
$(SHELL) debian/scripts/lib source.patch
touch $@
fix.source.patch: $(STAMP_DIR)/fix.source.patch
STAMP_DIR_TARGETS+= $(STAMP_DIR)/fix.source.patch
$(STAMP_DIR)/fix.source.patch: $(STAMP_DIR)
$(SHELL) debian/scripts/lib fix.source.patch
touch $@
unfix.source.patch: $(STAMP_DIR)/unfix.source.patch
STAMP_DIR_TARGETS+= $(STAMP_DIR)/unfix.source.patch
$(STAMP_DIR)/unfix.source.patch: $(STAMP_DIR)
$(SHELL) debian/scripts/lib unfix.source.patch
touch $@
source.compile: $(STAMP_DIR)/source.compile
STAMP_DIR_TARGETS+= $(STAMP_DIR)/source.compile
$(STAMP_DIR)/source.compile: $(STAMP_DIR)/source.make $(STAMP_DIR)
$(MAKE) -C $(BUILD_TREE) $(BUILD_TARGET)
touch $@
source.command:
(cd $(BUILD_TREE); $(SOURCE_CMD))
DIR_TARGETS+=$(STAMP_DIR)
$(STAMP_DIR_TARGETS): $(STAMP_DIR)
$(DIR_TARGETS)/:
mkdir -p $@
source.clean: unfix.source.patch
$(SHELL) debian/scripts/lib source.clean
rm -f $(STAMP_DIR_TARGETS)
rm -rf $(STAMP_DIR)
$(MAKE) -C debian/scripts clean

View File

@ -1,40 +0,0 @@
#! /bin/sh
set -e
TMPFILE=`mktemp /tmp/gtk+-2.8.7.XXXXXXXXXX`
defaultver=2.8.0
if [ "x$1" != "x" ]; then
VERSION=`echo $1 | sed -e 's/-[A-Za-z0-9\.]*$//' -e 's/+[A-Za-z0-9\.]*$//'`
else
VERSION=$defaultver
fi
VERSION=2.4.0
apiver=2.0
shortver=`echo $VERSION | sed -e 's/\.[0-9]*$//'`
if ! test -d /usr/lib/gtk-$apiver/$VERSION/loaders; then
echo "You don't have gdk-pixbuf loaders directory for version $VERSION."
echo "Use default version instead."
VERSION=$defaultver
shortver=`echo $VERSION | sed -e 's/\.[0-9]*$//'`
fi
echo -n "Updating the gdk-pixbuf loaders list for GTK+-$VERSION..."
/usr/lib/libgtk2.0-0/gdk-pixbuf-query-loaders > $TMPFILE
if [ "x`cat $TMPFILE | grep -v '^#'`" = "x" ]; then
echo "the gdk-pixbuf loaders was not found."
else
echo "done."
fi
if ! test -d /etc/gtk-$apiver; then
echo -n "Creating /etc/gtk-$apiver..."
mkdir /etc/gtk-$apiver
echo "done."
fi
cp $TMPFILE /etc/gtk-$apiver/gdk-pixbuf.loaders
chmod 644 /etc/gtk-$apiver/gdk-pixbuf.loaders
rm -f $TMPFILE

View File

@ -1,31 +0,0 @@
.\" Hey, EMACS: -*- nroff -*-
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
.TH UPDATE-GDKPIXBUF-LOADERS 8 "6 January 2003"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
.\" .nh disable hyphenation
.\" .hy enable hyphenation
.\" .ad l left justify
.\" .ad b justify to both left and right margins
.\" .nf disable filling
.\" .fi enable filling
.\" .br insert line break
.\" .sp <n> insert n+1 empty lines
.\" for manpage-specific macros, see man(7)
.SH NAME
update-gdkpixbuf-loaders \- Update wrapper script for the Gdkpixbuf loaders list
.SH SYNOPSIS
.B update-gdkpixbuf-loaders
.I package\| version
.SH DESCRIPTION
\fIupdate-gdkpixbuf-loaders\fP is a wrapper script for updating /etc/gtk-2.0/gdk-pixbuf.loaders using \fIgdk-pixbuf-query-loaders\fP.
.br
\fIupdate-gdkpixbuf-loaders\fP get a argument and /etc/gtk-2.0/gdk-pixbuf.loaders for that version will be generated by \fIgdk-pixbuf-query-loaders\fP.
.SH SEE ALSO
.BR gdk-pixbuf-query-loaders (1)
.SH AUTHOR
This manual page was written by Akira TAGOH <tagoh@debian.org>,
for the Debian GNU/Linux system.

View File

@ -1,28 +0,0 @@
#!/bin/sh
# this script is a no-op since 2.10.3-2
exit 0
set -e
VERSION="@VERSION@"
APIVER="@APIVER@"
SHARED_PKG="@SHARED_PKG@"
TMPFILE=$(mktemp -t "gtk+$APIVER-$VERSION.XXXXXXXXXX")
echo -n "Updating the gdk-pixbuf loaders list for Gtk+ $VERSION..."
"/@LIBDIR@/$SHARED_PKG/gdk-pixbuf-query-loaders" > $TMPFILE
if [ "x`cat "$TMPFILE" | grep -v '^#'`" = "x" ]; then
echo "no gdk-pixbuf loader found."
else
echo "done."
fi
if ! test -d "/etc/gtk-$APIVER"; then
echo -n "Creating /etc/gtk-$APIVER..."
mkdir "/etc/gtk-$APIVER"
echo "done."
fi
cp "$TMPFILE" "/etc/gtk-$APIVER/gdk-pixbuf.loaders"
chmod 644 "/etc/gtk-$APIVER/gdk-pixbuf.loaders"
rm -f "$TMPFILE"

View File

@ -1,37 +0,0 @@
#! /bin/sh
set -e
TMPFILE=`mktemp /tmp/gtk+-2.8.7.XXXXXXXXXX`
apiver=2.0
defaultver=2.8.0
if [ "x$1" != "x" ]; then
VERSION=`echo $1 | sed -e 's/-[A-Za-z0-9\.]*$//' -e 's/+[A-Za-z0-9\.]*$//'`
else
VERSION=$defaultver
fi
VERSION=2.4.0
if ! test -d /usr/lib/gtk-$apiver/$VERSION/immodules; then
echo "You don't have immodules directory for version $VERSION."
echo "Use default version instead."
VERSION=$defaultver
fi
echo -n "Updating the IM modules list for GTK+-$VERSION..."
/usr/lib/libgtk2.0-0/gtk-query-immodules-$apiver `find /usr/lib/gtk-$apiver/2.4.0/immodules -name '*.so'` > $TMPFILE
if [ "x`cat $TMPFILE | grep -v '^#'`" = "x" ]; then
echo "the GTK+ IM modules was not found."
else
echo "done."
fi
if ! test -d /etc/gtk-$apiver; then
echo -n "Creating /etc/gtk-$apiver..."
mkdir /etc/gtk-$apiver
echo "done."
fi
cp $TMPFILE /etc/gtk-$apiver/gtk.immodules
chmod 644 /etc/gtk-$apiver/gtk.immodules
rm -f $TMPFILE

View File

@ -1,31 +0,0 @@
.\" Hey, EMACS: -*- nroff -*-
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
.TH UPDATE-GTK-IMMODULES 8 "13 March 2002"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
.\" .nh disable hyphenation
.\" .hy enable hyphenation
.\" .ad l left justify
.\" .ad b justify to both left and right margins
.\" .nf disable filling
.\" .fi enable filling
.\" .br insert line break
.\" .sp <n> insert n+1 empty lines
.\" for manpage-specific macros, see man(7)
.SH NAME
update-gtk-immodules \- Update wrapper script for the GTK+ IM modules list
.SH SYNOPSIS
.B update-gtk-immodules
.I package\| version
.SH DESCRIPTION
\fIupdate-gtk-immodules\fP is a wrapper script for updating /etc/gtk-2.0/gtk.immodules using \fIgtk-query-immodules-2.0\fP.
.br
\fIupdate-gtk-immodules\fP get a argument and /etc/gtk-2.0/gtk.immodules for that version will be generated by \fIgtk-query-immodules-2.0\fP.
.SH SEE ALSO
.BR gtk-query-immodules-2.0 (1)
.SH AUTHOR
This manual page was written by Akira TAGOH <tagoh@debian.org>,
for the Debian GNU/Linux system.

View File

@ -1,36 +0,0 @@
.\" Hey, EMACS: -*- nroff -*-
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
.TH UPDATE-GTK-IMMODULES 8 "13 mars 2002"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
.\" .nh disable hyphenation
.\" .hy enable hyphenation
.\" .ad l left justify
.\" .ad b justify to both left and right margins
.\" .nf disable filling
.\" .fi enable filling
.\" .br insert line break
.\" .sp <n> insert n+1 empty lines
.\" for manpage-specific macros, see man(7)
.SH NOM
update-gtk-immodules \- Script de mise <20> jour de la liste des modules
GTK+ IM
.SH SYNOPSIS
.B update-gtk-immodules
.I paquet\| version
.SH DESCRIPTION
\fIupdate-gtk-immodules\fP est un script d'analyse pour la mise <20> jour de
/etc/gtk-2.0/gtk.immodules en utilisant \fIgtk-query-immodules-2.0\fP.
.br
\fIupdate-gtk-immodules\fP re<72>oit un argument et /etc/gtk-2.0/gtk.immodules sera
g<EFBFBD>n<EFBFBD>r<EFBFBD> pour cette version par \fIgtk-query-immodules-2.0\fP.
.SH VOIR AUSSI
.BR gtk-query-immodules-2.0 (1)
.SH AUTEUR
Cette page de manuel a <20>t<EFBFBD> <20>crite par Akira TAGOH <tagoh@debian.org>,
pour le syst<73>me Debian GNU/Linux.
.SH TRADUCTION
Julien Louis <leonptitlouis@ifrance.com>

View File

@ -1,31 +0,0 @@
#!/bin/sh
# this script is a no-op since 2.10.3-2
exit 0
set -e
VERSION="@VERSION@"
GTK_BINARY_VERSION="@GTK_BINARY_VERSION@"
APIVER="@APIVER@"
SHARED_PKG="@SHARED_PKG@"
TMPFILE=$(mktemp -t "gtk+$APIVER-$VERSION.XXXXXXXXXX")
echo -n "Updating the IM modules list for Gtk+ $VERSION..."
"/@LIBDIR@/$SHARED_PKG/gtk-query-immodules-$APIVER" \
$(find "/@LIBDIR@/gtk-$APIVER/$GTK_BINARY_VERSION/immodules" -name '*.so') \
> "$TMPFILE"
if [ "x`cat "$TMPFILE" | grep -v '^#'`" = "x" ]; then
echo "no Gtk+ IM modules found."
else
echo "done."
fi
if ! test -d "/etc/gtk-$APIVER"; then
echo -n "Creating /etc/gtk-$APIVER..."
mkdir "/etc/gtk-$APIVER"
echo "done."
fi
cp "$TMPFILE" "/etc/gtk-$APIVER/gtk.immodules"
chmod 644 "/etc/gtk-$APIVER/gtk.immodules"
rm -f "$TMPFILE"