Compare commits

...

43 Commits

Author SHA1 Message Date
YunQiang Su
00bdfbc5fc fix an typo in zh_CN translation 2012-08-18 11:23:20 +08:00
Hans Breuer
ae0544c636 Bug 609622 - disappearing statusicon
Windows 7 is managing status icon visibility across process lifetime,
which did not work with GTK+ create icons. Apparently the mechanism
does not require use of new API (like suggested by MSDN), but it is
enough to give a "unique" tooltip at creation time.
Formerly this initial tooltip was not set at all, later setting via
gtk_status_icon_set_tooltip_text() is not enough, but luckily
different follow-up tooltips don't disturb the intended behavior.
2010-11-07 21:26:15 +01:00
Hans Breuer
fc197a38cc gdk: Ensure flush of surface when cairo_t is destroyed
Add an ugly workaround because GTK does not ensure surfaces get flushed
before directly accessing the drawable backed by the surface. This is
not visible on X11 (where flushing is a no-op), but can be seen on
Windows.

https://bugzilla.gnome.org/show_bug.cgi?id=628291
2010-11-07 21:26:14 +01:00
Hans Breuer
5e59db1554 Prefer MessageBeep() over Beep()
Only the former respects the sound volume setting. If MessageBeep() fails fall back to the latter.
2010-11-07 21:26:14 +01:00
Hans Breuer
ce0c94b7fd Include gtkmain.h for gtk_grab_add/gtk_grab_remove 2010-11-07 21:26:13 +01:00
Hans Breuer
c93c0546bf On demand definition of WS_EX_COMPOSITED 2010-11-07 21:26:12 +01:00
Hans Breuer
b29f114a44 No mmx with msvc build 2010-11-07 21:26:11 +01:00
Sweta Kothari
56e946e7c1 Updated Gujarati Translations 2010-09-22 17:00:21 +05:30
Tor Lillqvist
a9a505a5ce Add gdiplus.def 2010-09-09 21:11:27 +03:00
Tor Lillqvist
aa85263c0e Link directly to GDI+ API avoiding LoadLibrary
Avoid potential DLL hijacking risks by not calling LoadLibrary() to
load gdiplus.dll. As gdiplus.dll is a WinSxS (side-by-side) DLL we
couldn't use the full path anyway as we don't know it.

So just link to the GDI+ functions directly. Gdiplus.dll should be
present on all Windows versions we support anyway. Some complexity
added as MinGW doesn't come with an import library for gdiplus.dll, so
we have to create one ourselves. But we call relatively few functions
from gdiplus.dll so that is not a big deal.

Note that despite being a side-by-side DLL (or "assembly"),
gdiplus.dll is apparently a special case in that you don't need a
manifest to tell the OS which version of gdiplus.dll you want. Weird.
2010-09-09 21:09:46 +03:00
Tor Lillqvist
6d37b26673 Avoid potential DLL hijacking in Wintab code
Load Wintab32.dll from an absolute path. A proper Wintab32.dll, if
present, should be in the Windows system directory, so load it from
there.
2010-09-09 20:26:37 +03:00
Tor Lillqvist
9ac354e0e0 Just use TrackMouseEvent directly
TrackMouseEvent is present in user32.dll in all Windows versions we
support. No need to look it up dynamically. No need to fallback to
_TrackMouseEvent from comctrl32.dll.
2010-09-03 00:51:55 +03:00
Tor Lillqvist
8c6b326d2e Avoid potential DLL hijacking in ms-windows theme engine
Load uxtheme.dll from an absolute path. A proper uxtheme.dll, if
present, will always be in the Windows system directory, so load it
from there.
2010-09-02 14:30:59 +03:00
Tor Lillqvist
1eaa240691 Workaround for UAC on Windows
Create a gtk-update-icon-cache.exe.manifest file to avod UAC. Windows
thinks that any program with "update" in its name is some kind of
installer that needs administrative privileges to do its job.
2010-09-02 13:03:28 +03:00
Tor Lillqvist
fec6b83dc3 Accept also Automake 1.10 and 1.11 2010-09-02 12:52:34 +03:00
Sandeep Shedmake
dd431cda86 fixed incorrect spelling of 'calender'; corrected to 'calendar' 2010-08-19 21:22:59 +05:30
krishnababu k
f5f520526c Corrected string occurrence calendar 2010-08-19 21:24:01 +05:30
Inaki Larranaga Murgoitio
3957342516 Updated Basque language 2010-03-22 14:42:47 +01:00
Inaki Larranaga Murgoitio
ddc93bd944 Updated Basque language 2010-03-22 14:40:28 +01:00
Russell Kyaw
e7d511d391 Added Burmese (Myanmar, my) translations 2010-02-11 00:12:47 +02:00
Shixin Zeng
6cf7c942f6 Don't use stream before it is created 2010-02-07 22:24:07 +02:00
Tor Lillqvist
67834690d0 Fix the GDI+ gdk-pixbuf loader
Should fix bug #552678. Patch by Dominic Lachowicz, based on a clueful
response from Jason Copenhaver on Albeto Ruiz's blog
http://aruiz.typepad.com/siliconisland/2009/08/dear-lazyweb-gtk-need-gdi-help.html
2010-02-07 20:45:46 +02:00
Steffen Macke
e68a26ea72 Fix menu bar problem in ms-windows theme engine on Windows 7
Patch from bug #591186
2010-02-06 20:06:17 +02:00
Inaki Larranaga
ab799e780b Updated Basque translation 2010-01-05 13:24:19 +01:00
Carles Ferrando
2001a3561d Minor update to Catalan (Valencian) translation 2009-11-08 12:47:48 +01:00
Simos Xenitellis
08b553b726 Updated Greek translation 2009-10-17 17:11:00 +03:00
Djavan Fagundes
95a9cf4215 Corrected a typo in Brazilian Portuguese translation 2009-10-15 20:51:44 -03:00
Gabor Kelemen
bbf2966369 Updated Hungarian translation 2009-09-24 12:28:37 +02:00
Jorge González
a3c11d0f91 Updated Spanish translation 2009-09-24 10:19:50 +02:00
Jorge González
d89f6e42ee Updated Spanish translation 2009-09-24 10:10:20 +02:00
Matej Urbančič
4e121c08c3 Updated Slovenian translation 2009-09-22 12:46:39 +02:00
Matej Urbančič
7d02c7953f Updated Slovenian translation 2009-09-22 12:44:10 +02:00
Manoj Kumar Giri
b468106195 Upadted Oriya Translation 2009-09-15 17:42:07 +05:30
Tor Lillqvist
29cf26806f Parse libtoolize --version more carefully
Some recent versions of libtoolize output a version blurb like:
  libtoolize (GNU libtool 1.3110 2009-07-01) 2.2.7a
Don't get confused by the numbers inside the parens.
2009-09-12 01:54:10 +03:00
Gil Forcada
830cea11a2 Minor fix to Catalan translation 2009-09-04 17:46:04 +02:00
Jonh Wendell
4890457372 Updated Brazilian Portuguese translation 2009-09-04 10:14:08 -03:00
Christian Kirbach
d937574e10 Updated German translation 2009-09-03 19:34:43 +02:00
Gabor Kelemen
be039e643a Revert "Hungarian translation updated"
This reverts commit 67dcaca7a3.

i wanted this only to master...
2009-09-03 00:12:01 +02:00
Gabor Kelemen
67dcaca7a3 Hungarian translation updated 2009-09-03 00:02:26 +02:00
Daniel Nylander
470c66a313 Updated Swedish translation 2009-09-01 10:49:32 +02:00
Shankar Prasad
a7975c6444 Updated Kannada(kn) translation 2009-08-31 13:52:19 +05:30
Jorge González
610584730e Updated Spanish translation 2009-08-30 14:02:37 +02:00
Matthias Clasen
7869722949 Bump version 2009-08-29 10:30:20 -04:00
37 changed files with 28074 additions and 17548 deletions

View File

@@ -14,7 +14,10 @@ DIE=0
have_libtool=false
if libtoolize --version < /dev/null > /dev/null 2>&1 ; then
libtool_version=`libtoolize --version | sed 's/^[^0-9]*\([0-9.][0-9.]*\).*/\1/'`
libtool_version=`libtoolize --version |
head -1 |
sed -e 's/^\(.*\)([^)]*)\(.*\)$/\1\2/g' \
-e 's/^[^0-9]*\([0-9.][0-9.]*\).*/\1/'`
case $libtool_version in
1.4*|1.5*|2.2*)
have_libtool=true
@@ -45,16 +48,24 @@ fi
DIE=1
}
if automake-1.7 --version < /dev/null > /dev/null 2>&1 ; then
if automake-1.11 --version < /dev/null > /dev/null 2>&1 ; then
AUTOMAKE=automake-1.11
ACLOCAL=aclocal-1.11
else if automake-1.10 --version < /dev/null > /dev/null 2>&1 ; then
AUTOMAKE=automake-1.10
ACLOCAL=aclocal-1.10
else if automake-1.7 --version < /dev/null > /dev/null 2>&1 ; then
AUTOMAKE=automake-1.7
ACLOCAL=aclocal-1.7
else
echo
echo "You must have automake 1.7.x installed to compile $PROJECT."
echo "You must have automake 1.7.x, 1,10.x or 1.11.x installed to compile $PROJECT."
echo "Install the appropriate package for your distribution,"
echo "or get the source tarball at http://ftp.gnu.org/gnu/automake/"
DIE=1
fi
fi
fi
if test "$DIE" -eq 1; then
exit 1

View File

@@ -269,7 +269,11 @@
/* #undef USE_MEDIALIB25 */
/* Define to 1 if XXM is available and should be used */
#ifndef _MSC_VER
#define USE_MMX 1
#else
#undef USE_MMX
#endif
/* Define to 1 if no XInput should be used */
/* #undef XINPUT_NONE */

View File

@@ -12,8 +12,8 @@ AC_PREREQ(2.54)
m4_define([gtk_major_version], [2])
m4_define([gtk_minor_version], [16])
m4_define([gtk_micro_version], [6])
m4_define([gtk_interface_age], [6])
m4_define([gtk_micro_version], [7])
m4_define([gtk_interface_age], [7])
m4_define([gtk_binary_age],
[m4_eval(100 * gtk_minor_version + gtk_micro_version)])
m4_define([gtk_version],
@@ -124,6 +124,7 @@ AC_CANONICAL_HOST
MATH_LIB=-lm
AC_MSG_CHECKING([for native Win32])
LIB_EXE_MACHINE_FLAG=X86
EXE_MANIFEST_ARCHITECTURE=X86
case "$host" in
*-*-mingw*)
os_win32=yes
@@ -132,6 +133,7 @@ case "$host" in
case "$host" in
x86_64-*-*)
LIB_EXE_MACHINE_FLAG=X64
EXE_MANIFEST_ARCHITECTURE=AMD64
;;
esac
;;
@@ -142,6 +144,7 @@ esac
AC_MSG_RESULT([$os_win32])
AC_SUBST(LIB_EXE_MACHINE_FLAG)
AC_SUBST(EXE_MANIFEST_ARCHITECTURE)
case $host in
*-*-linux*)

View File

@@ -195,6 +195,15 @@ libpixbufloader_jasper_la_LIBADD = $(LIBJASPER) $(module_libs)
if BUILD_GDIPLUS_LOADERS
# MinGW doesn't come with any import library for gdiplus.dll, so
# create a partial one that's enough for our use.
libgdiplus = libgdiplus.dll.a
gdiplus_ldflag = -Wl,$(libgdiplus)
libgdiplus.dll.a: gdiplus.def
$(DLLTOOL) --kill-at --dllname gdiplus.dll --input-def gdiplus.def --output-lib $@
if INCLUDE_GDIPLUS
# When building the GDI+ loader statically, we put the "common" objects
@@ -250,7 +259,7 @@ GDIPLUS_LIBS = \
libpixbufloader-gdip-jpeg.la \
libpixbufloader-gdip-tiff.la
libpixbufloader_gdip_ico_la_LDFLAGS = -avoid-version -module -no-undefined
libpixbufloader_gdip_ico_la_LDFLAGS = -avoid-version -module -no-undefined $(gdiplus_ldflag)
libpixbufloader_gdip_ico_la_SOURCES = \
io-gdip-native.h \
io-gdip-propertytags.h \
@@ -261,7 +270,7 @@ libpixbufloader_gdip_ico_la_SOURCES = \
io-gdip-ico.c
libpixbufloader_gdip_ico_la_LIBADD = $(module_libs) $(libole32)
libpixbufloader_gdip_wmf_la_LDFLAGS = -avoid-version -module -no-undefined
libpixbufloader_gdip_wmf_la_LDFLAGS = -avoid-version -module -no-undefined $(gdiplus_ldflag)
libpixbufloader_gdip_wmf_la_SOURCES = \
io-gdip-native.h \
io-gdip-propertytags.h \
@@ -272,7 +281,7 @@ libpixbufloader_gdip_wmf_la_SOURCES = \
io-gdip-wmf.c
libpixbufloader_gdip_wmf_la_LIBADD = $(module_libs) $(libole32)
libpixbufloader_gdip_emf_la_LDFLAGS = -avoid-version -module -no-undefined
libpixbufloader_gdip_emf_la_LDFLAGS = -avoid-version -module -no-undefined $(gdiplus_ldflag)
libpixbufloader_gdip_emf_la_SOURCES = \
io-gdip-native.h \
io-gdip-propertytags.h \
@@ -283,7 +292,7 @@ libpixbufloader_gdip_emf_la_SOURCES = \
io-gdip-emf.c
libpixbufloader_gdip_emf_la_LIBADD = $(module_libs) $(libole32)
libpixbufloader_gdip_bmp_la_LDFLAGS = -avoid-version -module -no-undefined
libpixbufloader_gdip_bmp_la_LDFLAGS = -avoid-version -module -no-undefined $(gdiplus_ldflag)
libpixbufloader_gdip_bmp_la_SOURCES = \
io-gdip-native.h \
io-gdip-propertytags.h \
@@ -294,7 +303,7 @@ libpixbufloader_gdip_bmp_la_SOURCES = \
io-gdip-bmp.c
libpixbufloader_gdip_bmp_la_LIBADD = $(module_libs) $(libole32)
libpixbufloader_gdip_gif_la_LDFLAGS = -avoid-version -module -no-undefined
libpixbufloader_gdip_gif_la_LDFLAGS = -avoid-version -module -no-undefined $(gdiplus_ldflag)
libpixbufloader_gdip_gif_la_SOURCES = \
io-gdip-native.h \
io-gdip-propertytags.h \
@@ -305,7 +314,7 @@ libpixbufloader_gdip_gif_la_SOURCES = \
io-gdip-gif.c
libpixbufloader_gdip_gif_la_LIBADD = $(module_libs) $(libole32)
libpixbufloader_gdip_jpeg_la_LDFLAGS = -avoid-version -module -no-undefined
libpixbufloader_gdip_jpeg_la_LDFLAGS = -avoid-version -module -no-undefined $(gdiplus_ldflag)
libpixbufloader_gdip_jpeg_la_SOURCES = \
io-gdip-native.h \
io-gdip-propertytags.h \
@@ -327,7 +336,7 @@ libpixbufloader_gdip_png_la_SOURCES = \
io-gdip-png.c
libpixbufloader_gdip_png_la_LIBADD = $(module_libs) $(libole32)
libpixbufloader_gdip_tiff_la_LDFLAGS = -avoid-version -module -no-undefined
libpixbufloader_gdip_tiff_la_LDFLAGS = -avoid-version -module -no-undefined $(gdiplus_ldflag)
libpixbufloader_gdip_tiff_la_SOURCES = \
io-gdip-native.h \
io-gdip-propertytags.h \
@@ -552,11 +561,12 @@ libgdk_pixbuf_2_0_la_LDFLAGS = \
-version-info $(LT_VERSION_INFO) \
$(LIBTOOL_EXPORT_OPTIONS) \
$(no_undefined) \
$(gdk_pixbuf_symbols)
$(gdk_pixbuf_symbols) \
$(gdiplus_ldflag)
libgdk_pixbuf_2_0_la_LIBADD = pixops/libpixops.la $(builtin_objs) $(GDK_PIXBUF_DEP_LIBS) $(libole32)
libgdk_pixbuf_2_0_la_DEPENDENCIES = pixops/libpixops.la $(builtin_objs) $(gdk_pixbuf_def) $(gdk_pixbuf_win32_res)
libgdk_pixbuf_2_0_la_DEPENDENCIES = pixops/libpixops.la $(builtin_objs) $(gdk_pixbuf_def) $(gdk_pixbuf_win32_res) $(libgdiplus)
gdk_pixbuf_headers = \
gdk-pixbuf.h \
@@ -668,7 +678,8 @@ EXTRA_DIST += \
gdk-pixbuf-marshal.list \
gdk-pixbuf-enum-types.c.template \
gdk-pixbuf-enum-types.h.template \
gen-color-table.pl
gen-color-table.pl \
gdiplus.def
if CROSS_COMPILING
RUN_QUERY_LOADER_TEST=false

26
gdk-pixbuf/gdiplus.def Normal file
View File

@@ -0,0 +1,26 @@
EXPORTS
GdiplusStartup@12
GdipCreateBitmapFromStream@8
GdipBitmapGetPixel@16
GdipGetImageWidth@8
GdipGetImageHeight@8
GdipDisposeImage@4
GdipGetImageFlags@8
GdipImageGetFrameCount@12
GdipImageSelectActiveFrame@12
GdipGetPropertyItemSize@12
GdipGetPropertyItem@16
GdipCreateBitmapFromScan0@24
GdipSaveImageToStream@16
GdipGetImageEncoders@12
GdipGetImageEncodersSize@8
GdipBitmapSetPixel@16
GdipDrawImageI@16
GdipGetImageGraphicsContext@8
GdipFlush@8
GdipGraphicsClear@8
GdipBitmapSetResolution@12
GdipGetImageHorizontalResolution@8
GdipGetImageVerticalResolution@8
GdipLoadImageFromStream@8
GdipDeleteGraphics@4

View File

@@ -224,41 +224,32 @@ typedef struct _GpRect GpRect;
#define IStream_SetSize(This,size) (This)->lpVtbl->SetSize(This,size)
#endif
typedef GpStatus (WINGDIPAPI* GdiplusStartupFunc) (gpointer, const gpointer, gpointer);
typedef GpStatus (WINGDIPAPI* GdipCreateBitmapFromStreamFunc) (gpointer, GpBitmap**);
typedef GpStatus (WINGDIPAPI* GdipBitmapGetPixelFunc) (GpBitmap*, gint x, gint y, ARGB*);
typedef GpStatus (WINGDIPAPI* GdipGetImageWidthFunc) (GpImage*, guint*);
typedef GpStatus (WINGDIPAPI* GdipGetImageHeightFunc) (GpImage*, guint*);
typedef GpStatus (WINGDIPAPI* GdipDisposeImageFunc) (GpImage*);
typedef GpStatus (WINGDIPAPI* GdipGetImageFlagsFunc) (GpImage *, guint*);
typedef GpStatus (WINGDIPAPI* GdipImageGetFrameCountFunc) (GpImage *image, const GUID* dimensionID, UINT* count);
typedef GpStatus (WINGDIPAPI* GdipImageSelectActiveFrameFunc) (GpImage *image, const GUID* dimensionID, UINT frameIndex);
typedef GpStatus (WINGDIPAPI* GdipGetPropertyItemSizeFunc) (GpImage *image, int propId, guint* size);
typedef GpStatus (WINGDIPAPI* GdipGetPropertyItemFunc) (GpImage *image, int propId, guint propSize, PropertyItem* buffer);
typedef GpStatus (WINGDIPAPI* GdipGetPropertyCountFunc) (GpImage *image, guint* numOfProperty);
typedef GpStatus (WINGDIPAPI* GdipGetPropertyIdListFunc) (GpImage *image, guint numOfProperty, PROPID* list);
typedef GpStatus (WINGDIPAPI* GdipCreateBitmapFromScan0Func) (INT width, INT height, INT stride, PixelFormat format, BYTE* scan0,
GpBitmap** bitmap);
typedef GpStatus (WINGDIPAPI* GdipSaveImageToStreamFunc) (GpImage *image, IStream* stream, const CLSID* clsidEncoder,
const EncoderParameters* encoderParams);
typedef GpStatus (WINGDIPAPI* GdipGetImageEncodersFunc) (UINT numEncoders, UINT size, ImageCodecInfo *encoders);
typedef GpStatus (WINGDIPAPI* GdipGetImageEncodersSizeFunc) (UINT *numEncoders, UINT *size);
typedef GpStatus (WINGDIPAPI* GdipBitmapSetPixelFunc) (GpBitmap* bitmap, INT x, INT y, ARGB color);
typedef GpStatus (WINGDIPAPI* GdipDrawImageIFunc) (GpGraphics *graphics, GpImage *image, INT x, INT y);
typedef GpStatus (WINGDIPAPI* GdipGetImageGraphicsContextFunc) (GpImage *image, GpGraphics **graphics);
typedef GpStatus (WINGDIPAPI* GdipFlushFunc) (GpGraphics *graphics, INT intention);
typedef GpStatus (WINGDIPAPI* GdipGraphicsClearFunc) (GpGraphics *graphics, ARGB color);
typedef GpStatus (WINGDIPAPI* GdipBitmapSetResolutionFunc) (GpBitmap* bitmap, float xdpi, float ydpi);
typedef GpStatus (WINGDIPAPI* GdipGetImageHorizontalResolutionFunc) (GpImage *image, float *resolution);
typedef GpStatus (WINGDIPAPI* GdipGetImageVerticalResolutionFunc) (GpImage *image, float *resolution);
typedef GpStatus (WINGDIPAPI* GdipLoadImageFromStreamFunc) (IStream* stream, GpImage **image);
typedef GpStatus (WINGDIPAPI* GdipDeleteGraphicsFunc) (GpGraphics *graphics);
typedef GpStatus (WINGDIPAPI* GdipBitmapLockBitsFunc) (GpBitmap* bitmap, const GpRect* rect, UINT flags, PixelFormat format, BitmapData* lockedBitmapData);
typedef GpStatus (WINGDIPAPI* GdipBitmapUnlockBitsFunc) (GpBitmap* bitmap, BitmapData* lockedBitmapData);
typedef GpStatus (WINGDIPAPI* GdipGetImagePixelFormatFunc) (GpImage *image, PixelFormat *format);
typedef GpStatus (WINGDIPAPI* GdipCloneBitmapAreaIFunc) (INT x, INT y, INT width, INT height, PixelFormat format, GpBitmap *srcBitmap, GpBitmap **dstBitmap);
GpStatus WINGDIPAPI GdiplusStartup (gpointer, const gpointer, gpointer);
GpStatus WINGDIPAPI GdipCreateBitmapFromStream (gpointer, GpBitmap**);
GpStatus WINGDIPAPI GdipBitmapGetPixel (GpBitmap*, gint x, gint y, ARGB*);
GpStatus WINGDIPAPI GdipGetImageWidth (GpImage*, guint*);
GpStatus WINGDIPAPI GdipGetImageHeight (GpImage*, guint*);
GpStatus WINGDIPAPI GdipDisposeImage (GpImage*);
GpStatus WINGDIPAPI GdipGetImageFlags (GpImage *, guint*);
GpStatus WINGDIPAPI GdipImageGetFrameCount (GpImage *image, const GUID* dimensionID, UINT* count);
GpStatus WINGDIPAPI GdipImageSelectActiveFrame (GpImage *image, const GUID* dimensionID, UINT frameIndex);
GpStatus WINGDIPAPI GdipGetPropertyItemSize (GpImage *image, int propId, guint* size);
GpStatus WINGDIPAPI GdipGetPropertyItem (GpImage *image, int propId, guint propSize, PropertyItem* buffer);
GpStatus WINGDIPAPI GdipCreateBitmapFromScan0 (INT width, INT height, INT stride, PixelFormat format, BYTE* scan0,
GpBitmap** bitmap);
GpStatus WINGDIPAPI GdipSaveImageToStream (GpImage *image, IStream* stream, const CLSID* clsidEncoder,
const EncoderParameters* encoderParams);
GpStatus WINGDIPAPI GdipGetImageEncoders (UINT numEncoders, UINT size, ImageCodecInfo *encoders);
GpStatus WINGDIPAPI GdipGetImageEncodersSize (UINT *numEncoders, UINT *size);
GpStatus WINGDIPAPI GdipBitmapSetPixel (GpBitmap* bitmap, INT x, INT y, ARGB color);
GpStatus WINGDIPAPI GdipDrawImageI (GpGraphics *graphics, GpImage *image, INT x, INT y);
GpStatus WINGDIPAPI GdipGetImageGraphicsContext (GpImage *image, GpGraphics **graphics);
GpStatus WINGDIPAPI GdipFlush (GpGraphics *graphics, INT intention);
GpStatus WINGDIPAPI GdipGraphicsClear (GpGraphics *graphics, ARGB color);
GpStatus WINGDIPAPI GdipBitmapSetResolution (GpBitmap* bitmap, float xdpi, float ydpi);
GpStatus WINGDIPAPI GdipGetImageHorizontalResolution (GpImage *image, float *resolution);
GpStatus WINGDIPAPI GdipGetImageVerticalResolution (GpImage *image, float *resolution);
GpStatus WINGDIPAPI GdipLoadImageFromStream (IStream* stream, GpImage **image);
GpStatus WINGDIPAPI GdipDeleteGraphics (GpGraphics *graphics);
#endif

View File

@@ -31,37 +31,17 @@
#define LOAD_BUFFER_SIZE 65536
static GdiplusStartupFunc GdiplusStartup;
static GdipCreateBitmapFromStreamFunc GdipCreateBitmapFromStream;
static GdipBitmapGetPixelFunc GdipBitmapGetPixel;
static GdipGetImageHeightFunc GdipGetImageHeight;
static GdipDisposeImageFunc GdipDisposeImage;
static GdipGetImageFlagsFunc GdipGetImageFlags;
static GdipGetImageWidthFunc GdipGetImageWidth;
static GdipImageGetFrameCountFunc GdipImageGetFrameCount;
static GdipImageSelectActiveFrameFunc GdipImageSelectActiveFrame;
static GdipGetPropertyItemSizeFunc GdipGetPropertyItemSize;
static GdipGetPropertyItemFunc GdipGetPropertyItem;
static GdipGetPropertyCountFunc GdipGetPropertyCount;
static GdipGetPropertyIdListFunc GdipGetPropertyIdList;
static GdipCreateBitmapFromScan0Func GdipCreateBitmapFromScan0;
static GdipSaveImageToStreamFunc GdipSaveImageToStream;
static GdipBitmapSetPixelFunc GdipBitmapSetPixel;
static GdipDrawImageIFunc GdipDrawImageI;
static GdipGetImageGraphicsContextFunc GdipGetImageGraphicsContext;
static GdipFlushFunc GdipFlush;
static GdipGraphicsClearFunc GdipGraphicsClear;
static GdipBitmapSetResolutionFunc GdipBitmapSetResolution;
static GdipGetImageHorizontalResolutionFunc GdipGetImageHorizontalResolution;
static GdipGetImageVerticalResolutionFunc GdipGetImageVerticalResolution;
static GdipLoadImageFromStreamFunc GdipLoadImageFromStream;
static GdipDeleteGraphicsFunc GdipDeleteGraphics;
static GdipGetImageEncodersFunc GdipGetImageEncoders;
static GdipGetImageEncodersSizeFunc GdipGetImageEncodersSize;
static GdipBitmapLockBitsFunc GdipBitmapLockBits;
static GdipBitmapUnlockBitsFunc GdipBitmapUnlockBits;
static GdipGetImagePixelFormatFunc GdipGetImagePixelFormat;
static GdipCloneBitmapAreaIFunc GdipCloneBitmapAreaI;
struct _GdipContext {
GdkPixbufModuleUpdatedFunc updated_func;
GdkPixbufModulePreparedFunc prepared_func;
GdkPixbufModuleSizeFunc size_func;
gpointer user_data;
GByteArray *buffer;
IStream *stream;
HGLOBAL hg;
};
typedef struct _GdipContext GdipContext;
DEFINE_GUID(FrameDimensionTime, 0x6aedbd6d,0x3fb5,0x418a,0x83,0xa6,0x7f,0x45,0x22,0x9d,0xc8,0x72);
DEFINE_GUID(FrameDimensionPage, 0x7462dc86,0x6180,0x4c7e,0x8e,0x3f,0xee,0x73,0x33,0xa7,0xa4,0x83);
@@ -119,58 +99,12 @@ gdip_init (void)
{
GdiplusStartupInput input;
ULONG_PTR gdiplusToken = 0;
static HINSTANCE gdipluslib = NULL;
static gboolean beenhere = FALSE;
if (!gdipluslib)
gdipluslib = LoadLibrary ("gdiplus.dll");
else
if (beenhere)
return TRUE; /* gdip_init() is idempotent */
if (!gdipluslib)
return FALSE;
#define LOOKUP(func) \
G_STMT_START { \
func = (func##Func) GetProcAddress (gdipluslib, #func); \
if (!func) {\
g_warning ("Couldn't find GDI+ function %s\n", #func); \
return FALSE; \
} \
} G_STMT_END
LOOKUP (GdiplusStartup);
LOOKUP (GdipCreateBitmapFromStream);
LOOKUP (GdipBitmapGetPixel);
LOOKUP (GdipGetImageHeight);
LOOKUP (GdipDisposeImage);
LOOKUP (GdipGetImageFlags);
LOOKUP (GdipGetImageWidth);
LOOKUP (GdipImageGetFrameCount);
LOOKUP (GdipImageSelectActiveFrame);
LOOKUP (GdipGetPropertyItemSize);
LOOKUP (GdipGetPropertyItem);
LOOKUP (GdipGetPropertyCount);
LOOKUP (GdipGetPropertyIdList);
LOOKUP (GdipCreateBitmapFromScan0);
LOOKUP (GdipSaveImageToStream);
LOOKUP (GdipBitmapSetPixel);
LOOKUP (GdipDrawImageI);
LOOKUP (GdipGetImageGraphicsContext);
LOOKUP (GdipFlush);
LOOKUP (GdipGraphicsClear);
LOOKUP (GdipBitmapSetResolution);
LOOKUP (GdipGetImageHorizontalResolution);
LOOKUP (GdipGetImageVerticalResolution);
LOOKUP (GdipLoadImageFromStream);
LOOKUP (GdipDeleteGraphics);
LOOKUP (GdipGetImageEncoders);
LOOKUP (GdipGetImageEncodersSize);
LOOKUP (GdipBitmapLockBits);
LOOKUP (GdipBitmapUnlockBits);
LOOKUP (GdipGetImagePixelFormat);
LOOKUP (GdipCloneBitmapAreaI);
#undef LOOKUP
beenhere = TRUE;
input.GdiplusVersion = 1;
input.DebugEventCallback = NULL;
@@ -339,21 +273,20 @@ gdip_pixbuf_to_bitmap (GdkPixbuf *pixbuf)
}
static GpBitmap *
gdip_buffer_to_bitmap (const gchar *buffer, size_t size, GError **error)
gdip_buffer_to_bitmap (GdipContext *context, GError **error)
{
HRESULT hr;
HGLOBAL hg = NULL;
GpBitmap *bitmap = NULL;
IStream *stream = NULL;
GpStatus status;
guint64 size64 = size;
guint64 size64 = context->buffer->len;
hg = gdip_buffer_to_hglobal (buffer, size, error);
hg = gdip_buffer_to_hglobal (context->buffer->data, context->buffer->len, error);
if (!hg)
return NULL;
IStream_SetSize (stream, *(ULARGE_INTEGER *)&size64);
hr = CreateStreamOnHGlobal (hg, FALSE, (LPSTREAM *)&stream);
if (!SUCCEEDED (hr)) {
@@ -361,29 +294,35 @@ gdip_buffer_to_bitmap (const gchar *buffer, size_t size, GError **error)
GlobalFree (hg);
return NULL;
}
IStream_SetSize (stream, *(ULARGE_INTEGER *)&size64);
status = GdipCreateBitmapFromStream (stream, &bitmap);
if (Ok != status)
if (Ok != status) {
gdip_set_error_from_gpstatus (error, GDK_PIXBUF_ERROR_FAILED, status);
IStream_Release (stream);
GlobalFree (hg);
return NULL;
}
IStream_Release (stream);
GlobalFree (hg);
context->stream = stream;
context->hg = hg;
return bitmap;
}
static GpImage *
gdip_buffer_to_image (const gchar *buffer, size_t size, GError **error)
gdip_buffer_to_image (GdipContext *context, GError **error)
{
HRESULT hr;
HGLOBAL hg = NULL;
GpImage *image = NULL;
IStream *stream = NULL;
GpStatus status;
guint64 size64 = size;
guint64 size64 = context->buffer->len;
hg = gdip_buffer_to_hglobal (buffer, size, error);
hg = gdip_buffer_to_hglobal (context->buffer->data, context->buffer->len, error);
if (!hg)
return NULL;
@@ -399,11 +338,15 @@ gdip_buffer_to_image (const gchar *buffer, size_t size, GError **error)
IStream_SetSize (stream, *(ULARGE_INTEGER *)&size64);
status = GdipLoadImageFromStream (stream, &image);
if (Ok != status)
if (Ok != status) {
gdip_set_error_from_gpstatus (error, GDK_PIXBUF_ERROR_FAILED, status);
IStream_Release (stream);
GlobalFree (hg);
return NULL;
}
IStream_Release (stream);
GlobalFree (hg);
context->stream = stream;
context->hg = hg;
return image;
}
@@ -590,24 +533,14 @@ gdip_bitmap_get_n_loops (GpBitmap *bitmap, guint *loops)
return success;
}
/*************************************************************************/
/*************************************************************************/
struct _GdipContext {
GdkPixbufModuleUpdatedFunc updated_func;
GdkPixbufModulePreparedFunc prepared_func;
GdkPixbufModuleSizeFunc size_func;
gpointer user_data;
GByteArray *buffer;
};
typedef struct _GdipContext GdipContext;
static void
destroy_gdipcontext (GdipContext *context)
{
if (context != NULL) {
if (context->stream != NULL) {
IStream_Release(context->stream);
GlobalFree (context->hg);
}
g_byte_array_free (context->buffer, TRUE);
g_free (context);
}
@@ -806,9 +739,8 @@ gdk_pixbuf__gdip_image_stop_load (gpointer data, GError **error)
{
GdipContext *context = (GdipContext *)data;
GpBitmap *bitmap = NULL;
GByteArray *image_buffer = context->buffer;
bitmap = gdip_buffer_to_bitmap ((gchar *)image_buffer->data, image_buffer->len, error);
bitmap = gdip_buffer_to_bitmap (context, error);
if (!bitmap) {
destroy_gdipcontext (context);
@@ -823,7 +755,6 @@ static gboolean
gdk_pixbuf__gdip_image_stop_vector_load (gpointer data, GError **error)
{
GdipContext *context = (GdipContext *)data;
GByteArray *image_buffer = context->buffer;
GpImage *metafile;
GpGraphics *graphics;
@@ -832,7 +763,7 @@ gdk_pixbuf__gdip_image_stop_vector_load (gpointer data, GError **error)
float metafile_xres, metafile_yres;
guint width, height;
metafile = gdip_buffer_to_image ((gchar *)image_buffer->data, image_buffer->len, error);
metafile = gdip_buffer_to_image (context, error);
if (!metafile) {
destroy_gdipcontext (context);
g_set_error_literal (error, GDK_PIXBUF_ERROR, GDK_PIXBUF_ERROR_CORRUPT_IMAGE, _("Couldn't load metafile"));

View File

@@ -23,6 +23,13 @@
#include "gdkregion-generic.h"
#include "gdkalias.h"
static void
gdk_ensure_surface_flush (gpointer surface)
{
cairo_surface_flush (surface);
cairo_surface_destroy (surface);
}
/**
* gdk_cairo_create:
* @drawable: a #GdkDrawable
@@ -43,6 +50,7 @@
cairo_t *
gdk_cairo_create (GdkDrawable *drawable)
{
static const cairo_user_data_key_t key;
cairo_surface_t *surface;
cairo_t *cr;
@@ -50,7 +58,13 @@ gdk_cairo_create (GdkDrawable *drawable)
surface = _gdk_drawable_ref_cairo_surface (drawable);
cr = cairo_create (surface);
cairo_surface_destroy (surface);
/* Ugly workaround for GTK not ensuring to flush surfaces before
* directly accessing the drawable backed by the surface. Not visible
* on X11 (where flushing is a no-op). For details, see
* https://bugzilla.gnome.org/show_bug.cgi?id=628291
*/
cairo_set_user_data (cr, &key, surface, gdk_ensure_surface_flush);
return cr;
}

View File

@@ -161,40 +161,19 @@ static void
track_mouse_event (DWORD dwFlags,
HWND hwnd)
{
typedef BOOL (WINAPI *PFN_TrackMouseEvent) (LPTRACKMOUSEEVENT);
static PFN_TrackMouseEvent p_TrackMouseEvent = NULL;
static gboolean once = FALSE;
TRACKMOUSEEVENT tme;
if (!once)
{
HMODULE user32;
HINSTANCE commctrl32;
tme.cbSize = sizeof(TRACKMOUSEEVENT);
tme.dwFlags = dwFlags;
tme.hwndTrack = hwnd;
tme.dwHoverTime = HOVER_DEFAULT; /* not used */
user32 = GetModuleHandle ("user32.dll");
if ((p_TrackMouseEvent = (PFN_TrackMouseEvent)GetProcAddress (user32, "TrackMouseEvent")) == NULL)
{
if ((commctrl32 = LoadLibrary ("commctrl32.dll")) != NULL)
p_TrackMouseEvent = (PFN_TrackMouseEvent)
GetProcAddress (commctrl32, "_TrackMouseEvent");
}
once = TRUE;
}
if (p_TrackMouseEvent)
{
TRACKMOUSEEVENT tme;
tme.cbSize = sizeof(TRACKMOUSEEVENT);
tme.dwFlags = dwFlags;
tme.hwndTrack = hwnd;
tme.dwHoverTime = HOVER_DEFAULT; /* not used */
if (!p_TrackMouseEvent (&tme))
WIN32_API_FAILED ("TrackMouseEvent");
else if (dwFlags == TME_LEAVE)
GDK_NOTE (EVENTS, g_print(" (TrackMouseEvent %p)", hwnd));
else if (dwFlags == TME_CANCEL)
GDK_NOTE (EVENTS, g_print(" (cancel TrackMouseEvent %p)", hwnd));
}
if (!TrackMouseEvent (&tme))
WIN32_API_FAILED ("TrackMouseEvent");
else if (dwFlags == TME_LEAVE)
GDK_NOTE (EVENTS, g_print(" (TrackMouseEvent %p)", hwnd));
else if (dwFlags == TME_CANCEL)
GDK_NOTE (EVENTS, g_print(" (cancel TrackMouseEvent %p)", hwnd));
}
gulong

View File

@@ -37,6 +37,8 @@
#include "gdkprivate-win32.h"
#include "gdkinput-win32.h"
#define WINTAB32_DLL "Wintab32.dll"
#define PACKETDATA (PK_CONTEXT | PK_CURSOR | PK_BUTTONS | PK_X | PK_Y | PK_NORMAL_PRESSURE | PK_ORIENTATION)
/* We want everything in absolute mode */
#define PACKETMODE (0)
@@ -334,12 +336,14 @@ _gdk_input_wintab_init_check (void)
BOOL active;
DWORD physid;
AXIS axis_x, axis_y, axis_npressure, axis_or[3];
int i, k;
int i, k, n;
int devix, cursorix;
wchar_t devname[100], csrname[100];
gchar *devname_utf8, *csrname_utf8;
BOOL defcontext_done;
HMODULE wintab32;
char *wintab32_dll_path;
char dummy;
if (wintab_initialized)
return;
@@ -351,7 +355,25 @@ _gdk_input_wintab_init_check (void)
if (_gdk_input_ignore_wintab)
return;
if ((wintab32 = LoadLibrary ("wintab32.dll")) == NULL)
n = GetSystemDirectory (&dummy, 0);
if (n <= 0)
return;
wintab32_dll_path = g_malloc (n + 1 + strlen (WINTAB32_DLL));
k = GetSystemDirectory (wintab32_dll_path, n);
if (k == 0 || k > n)
{
g_free (wintab32_dll_path);
return;
}
if (!G_IS_DIR_SEPARATOR (wintab32_dll_path[strlen (wintab32_dll_path) -1]))
strcat (wintab32_dll_path, G_DIR_SEPARATOR_S);
strcat (wintab32_dll_path, WINTAB32_DLL);
if ((wintab32 = LoadLibrary (wintab32_dll_path)) == NULL)
return;
if ((p_WTInfoA = (t_WTInfoA) GetProcAddress (wintab32, "WTInfoA")) == NULL)

View File

@@ -180,7 +180,8 @@ void
gdk_display_beep (GdkDisplay *display)
{
g_return_if_fail (display == gdk_display_get_default());
Beep(1000, 50);
if (!MessageBeep (-1))
Beep (1000, 50);
}
void
@@ -621,6 +622,9 @@ _gdk_win32_window_exstyle_to_string (LONG style)
BIT (ACCEPTFILES);
BIT (APPWINDOW);
BIT (CLIENTEDGE);
#ifndef WS_EX_COMPOSITED
# define WS_EX_COMPOSITED 0x02000000L
#endif
BIT (COMPOSITED);
BIT (CONTEXTHELP);
BIT (CONTROLPARENT);

View File

@@ -938,6 +938,39 @@ bin_PROGRAMS = \
gtk-update-icon-cache
bin_SCRIPTS = gtk-builder-convert
if OS_WIN32
# Workaround for UAC silliness: programs with "update" in their name
# are believed to be installers and require elevated privileges to be
# used... Use a manifest file to tell Windows that
# gtk-update-icon-cache.exe doesn't require any special privileges.
GTK_UPDATE_ICON_CACHE_MANIFEST = gtk-update-icon-cache.exe.manifest
bin_SCRIPTS += \
$(GTK_UPDATE_ICON_CACHE_MANIFEST)
gtk-update-icon-cache.exe.manifest:
(echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>' ; \
echo '<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">' ; \
echo ' <assemblyIdentity version="1.0.0.0"' ; \
echo ' processorArchitecture="'$(EXE_MANIFEST_ARCHITECTURE)'"' ; \
echo ' name="gtk-update-icon-cache.exe"' ; \
echo ' type="win32"/>' ; \
echo ' <!-- Identify the application security requirements. -->' ; \
echo ' <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">' ; \
echo ' <security>' ; \
echo ' <requestedPrivileges>' ; \
echo ' <requestedExecutionLevel' ; \
echo ' level="asInvoker"' ; \
echo ' uiAccess="false"/>' ; \
echo ' </requestedPrivileges>' ; \
echo ' </security>' ; \
echo ' </trustInfo>' ; \
echo '</assembly>' ) >$@
endif
gtk_query_immodules_2_0_DEPENDENCIES = $(DEPS)
gtk_query_immodules_2_0_LDADD = $(LDADDS)
@@ -1256,7 +1289,7 @@ gtk_update_icon_cache_program = \
endif
gtkbuiltincache.h: @REBUILD@ stamp-icons
$(MAKE) $(AM_MAKEFLAGS) gtk-update-icon-cache$(EXEEXT)
$(MAKE) $(AM_MAKEFLAGS) gtk-update-icon-cache$(EXEEXT) $(GTK_UPDATE_ICON_CACHE_MANIFEST)
$(gtk_update_icon_cache_program) --force --ignore-theme-index \
--source builtin_icons stock-icons > gtkbuiltincache.h.tmp && \
mv gtkbuiltincache.h.tmp gtkbuiltincache.h

View File

@@ -22,6 +22,7 @@
#include "gtkaccelgroup.h"
#include "gtkmarshalers.h"
#include "gtkcellrendereraccel.h"
#include "gtkmain.h"
#include "gtklabel.h"
#include "gtkeventbox.h"
#include "gtkprivate.h"

View File

@@ -876,6 +876,17 @@ gtk_status_icon_init (GtkStatusIcon *status_icon)
priv->nid.uCallbackMessage = WM_GTK_TRAY_NOTIFICATION;
priv->nid.uFlags = NIF_MESSAGE;
/* To help win7 identify the icon create it with an application "unique" tip */
if (g_get_prgname ())
{
WCHAR *wcs = g_utf8_to_utf16 (g_get_prgname (), -1, NULL, NULL, NULL);
priv->nid.uFlags |= NIF_TIP;
wcsncpy (priv->nid.szTip, wcs, G_N_ELEMENTS (priv->nid.szTip) - 1);
priv->nid.szTip[G_N_ELEMENTS (priv->nid.szTip) - 1] = 0;
g_free (wcs);
}
if (!Shell_NotifyIconW (NIM_ADD, &priv->nid))
{
g_warning ("%s:%d:Shell_NotifyIcon(NIM_ADD) failed", __FILE__, __LINE__-2);

View File

@@ -101,6 +101,7 @@ gtk_OBJECTS_deprecated = \
gtklistitem.obj \
gtkprogress.obj \
gtktipsquery.obj \
gtkshow.obj \
gtksignal.obj \
gtkpixmap.obj \
gtkpreview.obj \
@@ -144,7 +145,6 @@ gtk_OBJECTS_file = \
gtkfilefilter.obj \
gtkfilesystem.obj \
gtkfilesystemmodel.obj \
gtkfilesystemwin32.obj \
gtk_OBJECTS_print = \
gtkprint-win32.obj \
@@ -193,6 +193,7 @@ gtk_OBJECTS = \
gtkaccessible.obj \
gtkaction.obj \
gtkactiongroup.obj \
gtkactivatable.obj \
gtkadjustment.obj \
gtkalignment.obj \
gtkarrow.obj \
@@ -273,6 +274,7 @@ gtk_OBJECTS = \
gtkmountoperation.obj \
gtknotebook.obj \
gtkobject.obj \
gtkorientable.obj \
gtkpagesetup.obj \
gtkpaned.obj \
gtkpapersize.obj \
@@ -347,6 +349,7 @@ gtk_public_h_sources = \
gtkaccessible.h \
gtkaction.h \
gtkactiongroup.h \
gtkactivatable.h \
gtkadjustment.h \
gtkalignment.h \
gtkarrow.h \

View File

@@ -698,8 +698,8 @@ setup_msw_rc_style (void)
GdkColor text_prelight;
/* Prelight */
sys_color_to_gtk_color (XP_THEME_CLASS_TEXT,
get_windows_version () == VISTA_VERSION ? COLOR_MENUTEXT : COLOR_HIGHLIGHTTEXT,
sys_color_to_gtk_color (get_windows_version () >= VISTA_VERSION ? XP_THEME_CLASS_MENU : XP_THEME_CLASS_TEXT,
get_windows_version () >= VISTA_VERSION ? COLOR_MENUTEXT : COLOR_HIGHLIGHTTEXT,
&fg_prelight);
sys_color_to_gtk_color (XP_THEME_CLASS_TEXT, COLOR_HIGHLIGHT, &bg_prelight);
sys_color_to_gtk_color (XP_THEME_CLASS_TEXT, COLOR_HIGHLIGHT,

View File

@@ -165,6 +165,8 @@ static const short element_part_map[XP_THEME_ELEMENT__SIZEOF] = {
TKP_TICSVERT
};
#define UXTHEME_DLL "uxtheme.dll"
static HINSTANCE uxtheme_dll = NULL;
static HTHEME open_themes[XP_THEME_CLASS__SIZEOF];
static gboolean use_xp_theme = FALSE;
@@ -219,12 +221,36 @@ xp_theme_close_open_handles (void)
void
xp_theme_init (void)
{
char *buf;
char dummy;
int n, k;
if (uxtheme_dll)
return;
memset (open_themes, 0, sizeof (open_themes));
uxtheme_dll = LoadLibrary ("uxtheme.dll");
n = GetSystemDirectory (&dummy, 0);
if (n <= 0)
return;
buf = g_malloc (n + 1 + strlen (UXTHEME_DLL));
k = GetSystemDirectory (buf, n);
if (k == 0 || k > n)
{
g_free (buf);
return;
}
if (!G_IS_DIR_SEPARATOR (buf[strlen (buf) -1]))
strcat (buf, G_DIR_SEPARATOR_S);
strcat (buf, UXTHEME_DLL);
uxtheme_dll = LoadLibrary (buf);
g_free (buf);
if (!uxtheme_dll)
return;

File diff suppressed because it is too large Load Diff

7265
po-properties/my.po Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -66,6 +66,7 @@ ml
mn
mr
ms
my
nb
ne
nl

2075
po/ca.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

2077
po/de.po

File diff suppressed because it is too large Load Diff

2078
po/el.po

File diff suppressed because it is too large Load Diff

2237
po/es.po

File diff suppressed because it is too large Load Diff

3250
po/eu.po

File diff suppressed because it is too large Load Diff

2134
po/gu.po

File diff suppressed because it is too large Load Diff

2120
po/hu.po

File diff suppressed because it is too large Load Diff

2524
po/kn.po

File diff suppressed because it is too large Load Diff

2140
po/mr.po

File diff suppressed because it is too large Load Diff

5156
po/my.po Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -13,13 +13,13 @@ msgstr ""
"Project-Id-Version: or\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-08-29 00:06-0400\n"
"PO-Revision-Date: 2009-04-14 12:05+0530\n"
"PO-Revision-Date: 2009-09-15 17:41+0530\n"
"Last-Translator: Manoj Kumar Giri <mgiri@redhat.com>\n"
"Language-Team: Oriya <oriya-it@googlegroups.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
"Plural-Forms: nplurals=2; plural=(n!=1);\n\n"
"\n"
"\n"
"\n"
@@ -297,8 +297,7 @@ msgstr "'%s' ଚିତ୍ର ଫାଇଲରେ କୌଣସି ତଥ୍ଯ ନ
#: gdk-pixbuf/gdk-pixbuf-animation.c:188 gdk-pixbuf/gdk-pixbuf-io.c:1016
#: gdk-pixbuf/gdk-pixbuf-io.c:1280 tests/testfilechooser.c:267
#, c-format
msgid ""
"Failed to load image '%s': reason not known, probably a corrupt image file"
msgid "Failed to load image '%s': reason not known, probably a corrupt image file"
msgstr ""
"'%s' ଚିତ୍ର ଫାଇଲ ଧାରଣ କରିବାରେ ଅସଫଳ: କାରଣ ଜଣା ନାହିଁ, ସମ୍ଭବତଃ ଏହା ଗୋଟିଏ ତୃଟିଯୁକ୍ତ ଚିତ୍ର ଫାଇଲ "
"ଅଟେ"
@@ -377,8 +376,7 @@ msgstr "'%s'କୁ ଲେଖିବା ପ୍ରତି ଖୋଲିବାରେ
msgid ""
"Failed to close '%s' while writing image, all data may not have been saved: %"
"s"
msgstr ""
"ଚିତ୍ର ଲେଖିବା ସମୟରେ '%s'କୁ ବନ୍ଦ କରିବାରେ ଅସଫଳ, ସମ୍ପୂର୍ଣ ତଥ୍ଯ ସଂରକ୍ଷିତ ନ ହୋଇଥାଇପାରେ: %s"
msgstr "ଚିତ୍ର ଲେଖିବା ସମୟରେ '%s'କୁ ବନ୍ଦ କରିବାରେ ଅସଫଳ, ସମ୍ପୂର୍ଣ ତଥ୍ଯ ସଂରକ୍ଷିତ ନ ହୋଇଥାଇପାରେ: %s"
#: gdk-pixbuf/gdk-pixbuf-io.c:2256 gdk-pixbuf/gdk-pixbuf-io.c:2307
msgid "Insufficient memory to save image into a buffer"
@@ -647,8 +645,7 @@ msgstr "JPEG ଚିତ୍ର ଫାଇଲ ବ୍ଯାଖ୍ଯା କରିବ
msgid ""
"Insufficient memory to load image, try exiting some applications to free "
"memory"
msgstr ""
"ଚିତ୍ର ଧାରଣ କରିବା ପାଇଁ ଯଥେଷ୍ଟ ସ୍ମୃତି ନାହିଁ, ସ୍ମୃତି ମୁକ୍ତି ପାଇଁ କିଛି ପ୍ରୟୋଗ ବନ୍ଦ କରିବାକୁ ଚେଷ୍ଟା କରନ୍ତୁ"
msgstr "ଚିତ୍ର ଧାରଣ କରିବା ପାଇଁ ଯଥେଷ୍ଟ ସ୍ମୃତି ନାହିଁ, ସ୍ମୃତି ମୁକ୍ତି ପାଇଁ କିଛି ପ୍ରୟୋଗ ବନ୍ଦ କରିବାକୁ ଚେଷ୍ଟା କରନ୍ତୁ"
#: gdk-pixbuf/io-jpeg.c:569 gdk-pixbuf/io-jpeg.c:775
#, c-format
@@ -673,8 +670,7 @@ msgstr "JPEG ଗୁଣବତ୍ତାର ମୂଲ୍ଯ ଓ ୧୦୦ ଭ
#: gdk-pixbuf/io-jpeg.c:1147 gdk-pixbuf/io-gdip-jpeg.c:68
#, c-format
msgid ""
"JPEG quality must be a value between 0 and 100; value '%d' is not allowed."
msgid "JPEG quality must be a value between 0 and 100; value '%d' is not allowed."
msgstr "JPEG ଗୁଣବତ୍ତାର ମୂଲ୍ଯ ଓ ୧୦୦ ଭିତରେ ଥିବା ଉଚିତ; '%d' ମୂଲ୍ଯର ଅନୁମତି ନାହିଁ."
#: gdk-pixbuf/io-jpeg.c:1309 gdk-pixbuf/io-gdip-jpeg.c:136
@@ -774,8 +770,7 @@ msgid "Fatal error reading PNG image file: %s"
msgstr "PNG ଫାଇଲ ପଢ଼ିବାରେ ମାରାତ୍ମକ ତୃଟି: %s"
#: gdk-pixbuf/io-png.c:825
msgid ""
"Keys for PNG text chunks must have at least 1 and at most 79 characters."
msgid "Keys for PNG text chunks must have at least 1 and at most 79 characters."
msgstr "PNG ପାଠ୍ଯ ଖଣ୍ଡର ଚାବି ୧ ଓ ୭୯ ଅକ୍ଷର ଭିତରେ ହୋଇଥିବା ଆବଶ୍ଯକ."
#: gdk-pixbuf/io-png.c:833
@@ -1418,8 +1413,7 @@ msgstr "ବାହାର ମଣ୍ଡଳରୁ ରଙ୍ଗ ବାଛନ୍ତୁ
msgid ""
"Click the eyedropper, then click a color anywhere on your screen to select "
"that color."
msgstr ""
"ଆଖିଡ୍ରପର ଉପରେ ମାଉସ ଚାବି ଦବାଇ, ରଙ୍ଗ ବାଛିବା ପାଇଁ ପରଦାର କୌଣସି ରଙ୍ଗ ଉପରେ ମାଉସ ଚାବି ଦବାନ୍ତୁ।"
msgstr "ଆଖିଡ୍ରପର ଉପରେ ମାଉସ ଚାବି ଦବାଇ, ରଙ୍ଗ ବାଛିବା ପାଇଁ ପରଦାର କୌଣସି ରଙ୍ଗ ଉପରେ ମାଉସ ଚାବି ଦବାନ୍ତୁ।"
#: gtk/gtkcolorsel.c:387
msgid "_Hue:"
@@ -1635,7 +1629,7 @@ msgstr "'%s' ଚିହ୍ନିତ ସ୍ଥାନ କାଢ଼ନ୍ତୁ"
#: gtk/gtkfilechooserdefault.c:3022
#, c-format
msgid "Bookmark '%s' cannot be removed"
msgstr ""
msgstr "ଚିହ୍ନିତ ସ୍ଥାନ '%s' କୁ କଢ଼ାଯାଇପାରିବ ନାହିଁ"
#: gtk/gtkfilechooserdefault.c:3029 gtk/gtkfilechooserdefault.c:4055
msgid "Remove the selected bookmark"
@@ -1754,8 +1748,7 @@ msgstr "\"%s\" ନାମର ଫାଇଲ ପୂର୍ବରୁ ଅଛି. ଆପ
#: gtk/gtkfilechooserdefault.c:8237 gtk/gtkprintunixdialog.c:374
#, c-format
msgid ""
"The file already exists in \"%s\". Replacing it will overwrite its contents."
msgid "The file already exists in \"%s\". Replacing it will overwrite its contents."
msgstr "\"%s\"ରେ ଫାଇଲ ପୂର୍ବରୁ ଅଛି. ଏହାକୁ ବଦଳାଇଲେ, ତାହାର ସୂଚୀ ନବଲିଖିତ ହୋଇଯିବ."
#: gtk/gtkfilechooserdefault.c:8242 gtk/gtkprintunixdialog.c:381
@@ -1910,8 +1903,7 @@ msgstr "ଫାଇଲର ନାମ ବଦଳାନ୍ତୁ (_R)"
#: gtk/gtkfilesel.c:1347
#, c-format
msgid ""
"The folder name \"%s\" contains symbols that are not allowed in filenames"
msgid "The folder name \"%s\" contains symbols that are not allowed in filenames"
msgstr "ଫୋଲ୍ଡରର ନାମ \"%s\"ରେ କିଛି ପ୍ରତୀକ ଅଛି ଯେଉଁଗୁଡ଼ିକ ଫାଇଲ ନାମରେ ମନା"
#: gtk/gtkfilesel.c:1394
@@ -1988,7 +1980,7 @@ msgstr ""
#: gtk/gtkfilesel.c:3059
msgid "Invalid UTF-8"
msgstr "ଅବୈଧ ୟୁ.ଟି.ଏଫ.-୮"
msgstr "ଅବୈଧ UTF-8"
#: gtk/gtkfilesel.c:3933
msgid "Name too long"
@@ -2227,7 +2219,7 @@ msgstr "ଅବିନ୍ଯାସ ପାଇଁ ଜି.ଟି.କେ.+ ତୃଟ
#.
#: gtk/gtkmain.c:707
msgid "default:LTR"
msgstr "ପୂର୍ବନିର୍ଦ୍ଧାରିତ:LTR"
msgstr "default:LTR"
#: gtk/gtkmain.c:773
#, c-format
@@ -2295,7 +2287,7 @@ msgstr "ଗୋଟିଏ ବୈଧ ପୃଷ୍ଠା ବିନ୍ୟାସ ଫ
#.
#: gtk/gtkpagesetupunixdialog.c:152
msgid "default:mm"
msgstr "ପୂର୍ବନିର୍ଦ୍ଧାରିତ:ମିମି"
msgstr "default:mm"
#: gtk/gtkpagesetupunixdialog.c:308
msgid ""
@@ -2420,7 +2412,7 @@ msgstr "ଫୋଲ୍ଡରରେ ସଂରକ୍ଷିତ କରନ୍ତୁ (_S
#: gtk/gtkprintoperation.c:175
#, c-format
msgid "%s job #%d"
msgstr "%s job #%d"
msgstr "%s କାର୍ଯ୍ୟ #%d"
#: gtk/gtkprintoperation.c:1517
msgctxt "print operation status"
@@ -3473,8 +3465,7 @@ msgstr "\"%s\" ଟି ଗୋଟିଏ ବୈଧ ଗୁଣ ନାମ ନୁହେ
#: gtk/gtktextbufferserialize.c:1193
#, c-format
msgid ""
"\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\""
msgid "\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\""
msgstr "\"%s\" କୁ \"%s\" ପ୍ରକାରର ଗୋଟିଏ ମୂଲ୍ଯର \"%s\" ଗୁଣ ପାଇଁ ବଦଳା ଯାଇ ପାରିଲା ନାହିଁ"
#: gtk/gtktextbufferserialize.c:1202
@@ -3511,10 +3502,8 @@ msgid "Serialized data is malformed"
msgstr "ଧାରାବହିକ ତଥ୍ଯକୁ ବିକୃତ ରୂପରେ ଗଠନ କରାଯାଇଛି"
#: gtk/gtktextbufferserialize.c:1857
msgid ""
"Serialized data is malformed. First section isn't GTKTEXTBUFFERCONTENTS-0001"
msgstr ""
"ଧାରାବହିକ ତଥ୍ଯକୁ ବିକୃତ ରୂପରେ ଗଠନ କରାଯାଇଛି। ପ୍ରଥମ ଭାଗଟି GTKTEXTBUFFERCONTENTS-0001 ନୁହେଁ"
msgid "Serialized data is malformed. First section isn't GTKTEXTBUFFERCONTENTS-0001"
msgstr "ଧାରାବହିକ ତଥ୍ଯକୁ ବିକୃତ ରୂପରେ ଗଠନ କରାଯାଇଛି। ପ୍ରଥମ ଭାଗଟି GTKTEXTBUFFERCONTENTS-0001 ନୁହେଁ"
#: gtk/gtktextutil.c:61
msgid "LRM _Left-to-right mark"
@@ -4967,3 +4956,4 @@ msgstr "ପରୀକ୍ଷା ମୁଦ୍ରଣୀରେ ମୁଦ୍ରଣ କ
#, c-format
msgid "Could not get information for file '%s': %s"
msgstr "'%s' ଫାଇଲ ପାଇଁ ସୂଚନା ଆଣିହେଲା ନାହିଁ: %s"

File diff suppressed because it is too large Load Diff

2668
po/sl.po

File diff suppressed because it is too large Load Diff

2680
po/sv.po

File diff suppressed because it is too large Load Diff

2131
po/te.po

File diff suppressed because it is too large Load Diff

View File

@@ -46,7 +46,7 @@ msgstr "类"
#. Description of --name=NAME in --help output
#: gdk/gdk.c:154
msgid "Program name as used by the window manager"
msgstr "窗口管理所使用的程序名"
msgstr "窗口管理所使用的程序名"
#. Placeholder in --name=NAME in --help output
#: gdk/gdk.c:155