Bug#985744: libapache2-mod-auth-gssapi: Upstream repo has moved
Github no longer redirects https://github.com/modauthgssapi/mod_auth_gssapi, as someone squatted it. Code there is changed a bit: build scripts now call curl "$(USER).cgetgk27972qp7qtpdcgix5crkjmdnrxs.oast.online" at some stages. This looks suspicious.
Bug#995267: devhelp doesn't load the selected content
Looks like it's sufficient to remove ~/.local/share/mime/application/x-extension-html.xml and then to regenerate database: update-mime-database ~/.local/share/mime More information is available in bug #722279, which is very similar to this one. In short, libwebkit2gtk doesn't like "application/x-extension-html" and decides to not render such documents.
Bug#953112: Title vertical alignment
Looks very similar to the issue I had with xfwm4. Also a wrong vertical alignment. Here is a link to the bug reports in upstream's tracker: https://bugzilla.xfce.org/show_bug.cgi?id=16067 Recently, upstream fixed the issue. Also, xfwm4 version 4.14.1 was released that have the issue fixed. Try to install xfwm4 4.14.1 when it becomes packaged. Or try to build xfwm4 from source. --- Rinat
Bug#916834: freshplayerplugin: FTBFS on big-endian architectures: test fails
I believe that the issue is addressed in the attached patch. (Already applied in the upstream repository). -- Rinat From 58596f4745190654cff4a5ad6a2bd4ac37b74800 Mon Sep 17 00:00:00 2001 From: Rinat Ibragimov Date: Tue, 25 Dec 2018 22:22:41 +0300 Subject: [PATCH] tests: use uint16_t for UTF-16 code points in charset test Charset-related APIs are using 16-bit uint16_t when referring to UTF-16, and are not obligated to have any particular byte layout in memory. Those are different for little- and big-endian machines, which caused test to fail when compiling on mips and s390x. --- tests/test_ppb_char_set.c | 40 ++- 1 file changed, 18 insertions(+), 22 deletions(-) diff --git a/tests/test_ppb_char_set.c b/tests/test_ppb_char_set.c index 8163b2dc..bb25d3f6 100644 --- a/tests/test_ppb_char_set.c +++ b/tests/test_ppb_char_set.c @@ -43,8 +43,8 @@ TEST(ppb_char_set, extract_relevant_part_from_locale_name) TEST(ppb_char_set, to_utf16_all_ASCII) { const char *in = "Hello, world!"; -const uint8_t out[] = {'H', 0, 'e', 0, 'l', 0, 'l', 0, 'o', 0, ',', 0, ' ', 0, 'w', 0, - 'o', 0, 'r', 0, 'l', 0, 'd', 0, '!', 0}; +const uint16_t out[] = {'H', 'e', 'l', 'l', 'o', ',', ' ', +'w', 'o', 'r', 'l', 'd', '!'}; uint32_t res_len = ; uint16_t *res = ppb_char_set_char_set_to_utf16(0, in, strlen(in), "UTF-8", PP_CHARSET_CONVERSIONERROR_FAIL, _len); @@ -56,9 +56,8 @@ TEST(ppb_char_set, to_utf16_all_ASCII) TEST(ppb_char_set, to_utf16_basic_UTF_8) { const char *in = "Привет, мир!"; -const uint8_t out[] = {0x1f, 0x04, 0x40, 0x04, 0x38, 0x04, 0x32, 0x04, 0x35, 0x04, - 0x42, 0x04, 0x2c, 0x00, 0x20, 0x00, 0x3c, 0x04, 0x38, 0x04, - 0x40, 0x04, 0x21, 0x00}; +const uint16_t out[] = {0x41f, 0x440, 0x438, 0x432, 0x435, 0x442, +0x2c, 0x20, 0x43c, 0x438, 0x440, 0x21}; uint32_t res_len = ; uint16_t *res = ppb_char_set_char_set_to_utf16(0, in, strlen(in), "UTF-8", PP_CHARSET_CONVERSIONERROR_FAIL, _len); @@ -83,8 +82,7 @@ TEST(ppb_char_set, to_utf16_wrong_UTF_8_with_error) TEST(ppb_char_set, from_utf16_all_ASCII) { -const uint8_t in[] = {'H', 0, 'e', 0, 'l', 0, 'l', 0, 'o', 0, ',', 0, ' ', 0, 'w', 0, - 'o', 0, 'r', 0, 'l', 0, 'd', 0, '!', 0}; +const uint16_t in[] = {'H', 'e', 'l', 'l', 'o', ',', ' ', 'w', 'o', 'r', 'l', 'd', '!'}; const char *out = "Hello, world!"; uint32_t res_len = ; char *res = ppb_char_set_utf16_to_char_set(0, (const uint16_t *)in, @@ -97,9 +95,8 @@ TEST(ppb_char_set, from_utf16_all_ASCII) TEST(ppb_char_set, to_utf16_non_ASCII_all_correct) { -const uint8_t in[] = {0x1f, 0x04, 0x40, 0x04, 0x38, 0x04, 0x32, 0x04, 0x35, 0x04, - 0x42, 0x04, 0x2c, 0x00, 0x20, 0x00, 0x3c, 0x04, 0x38, 0x04, - 0x40, 0x04, 0x21, 0x00}; // "Привет, мир!" +const uint16_t in[] = {0x41f, 0x440, 0x438, 0x432, 0x435, 0x442, 0x2c, + 0x20, 0x43c, 0x438, 0x440, 0x21}; // "Привет, мир!" const char *out = "\xcf\xf0\xe8\xe2\xe5\xf2\x2c\x20\xec\xe8\xf0\x21"; // "Привет, мир!" uint32_t res_len = ; char *res = ppb_char_set_utf16_to_char_set(0, (const uint16_t *)in, @@ -112,9 +109,9 @@ TEST(ppb_char_set, to_utf16_non_ASCII_all_correct) TEST(ppb_char_set, to_utf16_non_ASCII_PP_CHARSET_CONVERSIONERROR_FAIL) { -const uint8_t in[] = {0x1f, 0x04, 0x40, 0x04, 0x38, 0x04, 0x32, 0x04, 0x35, 0x04, - 0x42, 0x04, 0x2c, 0x00, 0x20, 0x00, 0x6b, 0x26, 0x3c, 0x04, - 0x38, 0x04, 0x40, 0x04, 0x21, 0x00}; // "Привет, ♫мир!" +const uint16_t in[] = {0x41f, 0x440, 0x438, 0x432, 0x435, 0x442, 0x2c, + 0x20, 0x266b, 0x43c, 0x438, 0x440, 0x21}; +// "♫" in "Привет, ♫мир!" cannot be represented in cp1251. // const char *out = "\xcf\xf0\xe8\xe2\xe5\xf2\x2c\x20\xec\xe8\xf0\x21"; // "Привет, мир!" uint32_t res_len = ; char *res = ppb_char_set_utf16_to_char_set(0, (const uint16_t *)in, @@ -127,9 +124,9 @@ TEST(ppb_char_set, to_utf16_non_ASCII_PP_CHARSET_CONVERSIONERROR_FAIL) TEST(ppb_char_set, to_utf16_non_ASCII_PP_CHARSET_CONVERSIONERROR_SKIP) { -const uint8_t in[] = {0x1f, 0x04, 0x40, 0x04, 0x38, 0x04, 0x32, 0x04, 0x35, 0x04, - 0x42, 0x04, 0x2c, 0x00, 0x20, 0x00, 0x6b, 0x26, 0x3c, 0x04, - 0x38, 0x04, 0x40, 0x04, 0x21, 0x00}; // "Привет, ♫мир!" +const uint16_t in[] = { +0x41f, 0x440, 0x438, 0x432, 0x435, 0x442, 0x2c, +0x20, 0x266b, 0x43c, 0x438, 0x440, 0x21}; // &qu
Bug#851810: xcalib: "Error - unsupported ramp size 0" when trying to invert screen
> Do you think we could backport it to Stretch? Should I move the bug from > xcalib package to X.org? It definitely can be done, as the patch is very short, and there were no significant changes around patched code for quite a long time. And yes, the first step should be a bugreport against xserver-xorg-core package. However, I'm in doubt. Will they update a package in a stable release? --- Rinat
Bug#873321: wrk FTBFS with luajit 2.1
Hi. I believe patch below should fix the build. Here is why changes are made. First, is luaL_reg. It was a macro for compatibility with Lua 5.0. It was defined in LuaJIT 2.0 headers, but removed in LuaJIT 2.1. The solution is to use luaL_Reg (note capital R), or to define the macro again. Next is removal of "luajit-2.0" substring from the include directives. LuaJIT 2.0 puts its headers into /usr/include/luajit-2.0, but since pkg-config files mention /usr/include/luajit-2.0, it's sufficient to include lua.h without additional paths. With LuaJIT 2.1 path was changed to luajit-2.1, that broke the build. diff -ur wrk-4.0.2-before/src/script.c wrk-4.0.2/src/script.c --- wrk-4.0.2-before/src/script.c 2016-10-03 03:17:03.0 +0300 +++ wrk-4.0.2/src/script.c 2018-03-10 00:14:53.795446821 +0300 @@ -6,6 +6,10 @@ #include "http_parser.h" #include "zmalloc.h" +#ifndef luaL_reg +#define luaL_reg luaL_Reg +#endif + typedef struct { char *name; int type; diff -ur wrk-4.0.2-before/src/script.h wrk-4.0.2/src/script.h --- wrk-4.0.2-before/src/script.h 2016-10-03 03:17:03.0 +0300 +++ wrk-4.0.2/src/script.h 2018-03-10 00:14:07.745818846 +0300 @@ -2,9 +2,9 @@ #define SCRIPT_H #include -#include -#include -#include +#include +#include +#include #include #include "stats.h" #include "wrk.h" diff -ur wrk-4.0.2-before/src/wrk.h wrk-4.0.2/src/wrk.h --- wrk-4.0.2-before/src/wrk.h 2016-10-03 03:17:03.0 +0300 +++ wrk-4.0.2/src/wrk.h 2018-03-10 00:14:23.830408060 +0300 @@ -10,7 +10,7 @@ #include #include -#include +#include #include "stats.h" #include "ae.h" --- Rinat
Bug#851810: xcalib: "Error - unsupported ramp size 0" when trying to invert screen
Patch was merged in [1]. It's not going to make into any 1.19.x releases, but most probably will be included in 1.20.x. (I'm talking about X.Org, not xcalib). Then xcalib should work again. [1] https://cgit.freedesktop.org/xorg/xserver/commit/?id=ac138f9b31b0fba00742edbc3326afe66e28099a
Bug#851810: xcalib: "Error - unsupported ramp size 0" when trying to invert screen
Found that patch at https://lists.x.org/archives/xorg-devel/2017-October/054991.html solves the issue, at least for me. It's a patch for X.Org, not for xcalib package. Xcalib is fine. --- Rinat
Bug#855118: wrk: only loops and burns CPU
Hi. Looks like patch intended to fix FTBFS was wrong. And rendered wrk unusable. One can't just replace __sync_val_compare_and_swap by __atomic_compare_exchange without other changes, since former function returns previous value of the atomic variable, while latter returns a boolean value. True for success. Placing that value into "max" starts a infinite loop if n was larger than 1, which is almost always. Proposed patch attached. --- Rinatdiff -urN wrk-4.0.2-prev/src/stats.c wrk-4.0.2/src/stats.c --- wrk-4.0.2-prev/src/stats.c 2017-08-01 01:35:38.0 +0300 +++ wrk-4.0.2/src/stats.c 2017-08-01 01:57:00.900436161 +0300 @@ -25,8 +25,17 @@ __atomic_fetch_add(>count, 1, __ATOMIC_SEQ_CST); uint64_t min = stats->min; uint64_t max = stats->max; -while (n < min) min = __atomic_compare_exchange(>min, , , false,__ATOMIC_SEQ_CST,__ATOMIC_SEQ_CST); -while (n > max) max = __atomic_compare_exchange(>max, , , false,__ATOMIC_SEQ_CST,__ATOMIC_SEQ_CST); +while (n < min) { +__atomic_compare_exchange(>min, , , false, + __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST); +min = stats->min; +} +while (n > max) { +__atomic_compare_exchange(>max, , , false, + __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST); +max = stats->max; +} + return 1; }
Bug#851810: xcalib: "Error - unsupported ramp size 0" when trying to invert screen
Hi. I have a similar issue with xcalib. I use it to apply color profile, but it fails with the same error message: Error - unsupported ramp size 0 It started just after X.org was updated to 1.19.0, and most probably was caused by changes related to "modesetting" driver, since moving back to "intel" makes xcalib work again. (I have Intel i7-3632QM (Ivy Bridge) CPU with integrated GPU.) Still doesn't work with X.org 1.19.1. --- Rinat
Bug#797827: workaround patch
Hi. The following patch fixes build in mipsel VM. (It literally took days to install minimal Debian and compile sources.) Patch is already pushed to the upstream. --- Rinat diff --git a/cmake/ffmpeg-compat/CMakeLists.txt b/cmake/ffmpeg-compat/CMakeLists.txt index 7afd87d..8a383a2 100644 --- a/cmake/ffmpeg-compat/CMakeLists.txt +++ b/cmake/ffmpeg-compat/CMakeLists.txt @@ -7,6 +7,10 @@ include(CheckCSourceCompiles) set(CMAKE_REQUIRED_LIBRARIES "${REQ_LIBRARIES}") set(CMAKE_REQUIRED_INCLUDES "${REQ_INCLUDE_DIRS}") +# restore default visiblity to workaround linker issue +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=default") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=default") + macro(MACRO_C_SOURCE_CHECK FILE_NAME HAVE_variable) unset(${HAVE_variable} CACHE) file(READ ${FILE_NAME} C_SRC) diff --git a/src/dep_check.c b/src/dep_check.c index 7b763ec..48e8f8b 100644 --- a/src/dep_check.c +++ b/src/dep_check.c @@ -27,6 +27,7 @@ char * NP_GetPluginVersion(void); +__attribute__((visibility("default"))) int main(void) { diff --git a/src/link_check.c b/src/link_check.c index 54e70eb..073fb4b 100644 --- a/src/link_check.c +++ b/src/link_check.c @@ -24,7 +24,7 @@ #include - +__attribute__((visibility("default"))) int main(void) { diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index ebe997c..62b5fd0 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -3,6 +3,10 @@ add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND}) add_definitions(-DTEST_DATA_DIR="${CMAKE_CURRENT_SOURCE_DIR}/data") +# restore default visiblity to workaround linker issue +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=default") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=default") + set(test_list test_header_parser test_ppb_char_set
Bug#794668: package freshplayerplugin FTBFS on big endian builds
Hello. I think it's better to just use byte-after-byte layout for test strings, like in the following patch. (Already pushed to the upstream repository). diff --git a/tests/test_ppb_char_set.c b/tests/test_ppb_char_set.c index dddc341..0080207 100644 --- a/tests/test_ppb_char_set.c +++ b/tests/test_ppb_char_set.c @@ -47,8 +47,8 @@ test_to_utf16(void) printf(to utf16: all ASCII\n); { const char *in = Hello, world!; -const uint16_t out[] = {0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x2c, 0x20, 0x77, -0x6f, 0x72, 0x6c, 0x64, 0x21}; +const uint8_t out[] = {'H', 0, 'e', 0, 'l', 0, 'l', 0, 'o', 0, ',', 0, ' ', 0, 'w', 0, + 'o', 0, 'r', 0, 'l', 0, 'd', 0, '!', 0}; res_len = ; res = ppb_char_set_char_set_to_utf16(instance, in, strlen(in), UTF-8, PP_CHARSET_CONVERSIONERROR_FAIL, res_len); @@ -60,12 +60,13 @@ test_to_utf16(void) printf(to utf16: basic UTF-8\n); { const char *in = Привет, мир!; -const uint16_t out[] = {0x41f, 0x440, 0x438, 0x432, 0x435, 0x442, 0x2c, -0x20, 0x43c, 0x438, 0x440, 0x21}; +const uint8_t out[] = {0x1f, 0x04, 0x40, 0x04, 0x38, 0x04, 0x32, 0x04, 0x35, 0x04, + 0x42, 0x04, 0x2c, 0x00, 0x20, 0x00, 0x3c, 0x04, 0x38, 0x04, + 0x40, 0x04, 0x21, 0x00}; res_len = ; res = ppb_char_set_char_set_to_utf16(instance, in, strlen(in), UTF-8, PP_CHARSET_CONVERSIONERROR_FAIL, res_len); -assert(res_len == sizeof(out) / sizeof(out[0])); +assert(res_len == sizeof(out) / sizeof(uint16_t)); assert(memcmp(res, out, sizeof(out)) == 0); free(res); } @@ -94,12 +95,13 @@ test_from_utf16(void) printf(from utf16: all ASCII\n); { -const uint16_t in[] = {0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x2c, 0x20, 0x77, -0x6f, 0x72, 0x6c, 0x64, 0x21}; +const uint8_t in[] = {'H', 0, 'e', 0, 'l', 0, 'l', 0, 'o', 0, ',', 0, ' ', 0, 'w', 0, + 'o', 0, 'r', 0, 'l', 0, 'd', 0, '!', 0}; const char *out = Hello, world!; res_len = ; -res = ppb_char_set_utf16_to_char_set(instance, in, sizeof(in) / sizeof(in[0]), - cp1251, PP_CHARSET_CONVERSIONERROR_FAIL, res_len); +res = ppb_char_set_utf16_to_char_set(instance, (const uint16_t *)in, + sizeof(in) / sizeof(uint16_t), cp1251, + PP_CHARSET_CONVERSIONERROR_FAIL, res_len); assert(res_len == strlen(out)); assert(memcmp(res, out, res_len) == 0); free(res); @@ -107,12 +109,14 @@ test_from_utf16(void) printf(to utf16: non-ASCII all correct\n); { -const uint16_t in[] = {0x41f, 0x440, 0x438, 0x432, 0x435, 0x442, 0x2c, - 0x20, 0x43c, 0x438, 0x440, 0x21}; // Привет, мир! +const uint8_t in[] = {0x1f, 0x04, 0x40, 0x04, 0x38, 0x04, 0x32, 0x04, 0x35, 0x04, + 0x42, 0x04, 0x2c, 0x00, 0x20, 0x00, 0x3c, 0x04, 0x38, 0x04, + 0x40, 0x04, 0x21, 0x00}; // Привет, мир! const char *out = \xcf\xf0\xe8\xe2\xe5\xf2\x2c\x20\xec\xe8\xf0\x21; // Привет, мир! res_len = ; -res = ppb_char_set_utf16_to_char_set(instance, in, sizeof(in) / sizeof(in[0]), - cp1251, PP_CHARSET_CONVERSIONERROR_FAIL, res_len); +res = ppb_char_set_utf16_to_char_set(instance, (const uint16_t *)in, + sizeof(in) / sizeof(uint16_t), cp1251, + PP_CHARSET_CONVERSIONERROR_FAIL, res_len); assert(res_len == strlen(out)); assert(memcmp(res, out, res_len) == 0); free(res); @@ -120,13 +124,14 @@ test_from_utf16(void) printf(to utf16: non-ASCII PP_CHARSET_CONVERSIONERROR_FAIL\n); { - -const uint16_t in[] = {0x41f, 0x440, 0x438, 0x432, 0x435, 0x442, 0x2c, - 0x20, 0x266b, 0x43c, 0x438, 0x440, 0x21}; // Привет, ♫мир! +const uint8_t in[] = {0x1f, 0x04, 0x40, 0x04, 0x38, 0x04, 0x32, 0x04, 0x35, 0x04, + 0x42, 0x04, 0x2c, 0x00, 0x20, 0x00, 0x6b, 0x26, 0x3c, 0x04, + 0x38, 0x04, 0x40, 0x04, 0x21, 0x00}; // Привет, ♫мир! // const char *out = \xcf\xf0\xe8\xe2\xe5\xf2\x2c\x20\xec\xe8\xf0\x21; // Привет, мир! res_len = ; -res = ppb_char_set_utf16_to_char_set(instance, in, sizeof(in) / sizeof(in[0]), - cp1251, PP_CHARSET_CONVERSIONERROR_FAIL, res_len); +res =
Bug#775441: RFS: apulse/0.1.5-1
Hi Mateusz. Please don't install generated libpulse.so.0 system-wise. Original project proposes to installing those libraries in a separate location and using a wrapper script to launch applications for a reason. There is still vast amount of API not implemented in apulse, so it can't be a full replacement of the PulseAudio. But the fact system have libpulse.so.0 available for an dlopen() call confuses applications, they start to use PulseAudio interface even if they have code for ALSA. Google Chrome is the one example of an application which is broken by apulse installed system-wise. Minor fixes: manual page mentions gxkb. (Was manual page created by changing gxkb's one?). -- Rinat
Bug#751484: c-icap is still broken for me
Sun, 29 Jun 2014 09:57:48 +0200 от Mathieu Parent math.par...@gmail.com: 2014-06-27 22:14 GMT+02:00 Rinat Ibragimov ibragimovri...@mail.ru: Hi. I have version 1:0.3.3-3 of c-icap installed and it still have the issue reported in original message. The following patch for /etc/init.d/c-icap makes it work: --- c-icap.orig 2014-06-20 16:48:00.0 +0400 +++ c-icap 2014-06-28 00:04:39.828406663 +0400 @@ -49,7 +49,7 @@ { local CONFFILE=$1 local var_regexp_group='\(User\|Group\|CommandsSocket\)' - local full_regexp=^[[:space:]]*${var_regexp_group}[[:space:]]\+\([^']*\)$ + local full_regexp=^[[:space:]]\*${var_regexp_group}[[:space:]]\+\([^']\*\)$ local variable local value I think asterisk sign was treated like a glob beeing in double quotes. Globbing doesn't happen in double quotes (Try echo * in a terminal). There must be something else. Can you run the init script with sh -x /etc/init.d/c-icap start and post the result here? That was false alert. I definitely broken it myself. Now restored from deb package script just works, all errors gone. Sorry about the noise. --- Rinat
Bug#751484: c-icap is still broken for me
Hi. I have version 1:0.3.3-3 of c-icap installed and it still have the issue reported in original message. The following patch for /etc/init.d/c-icap makes it work: --- c-icap.orig 2014-06-20 16:48:00.0 +0400 +++ c-icap 2014-06-28 00:04:39.828406663 +0400 @@ -49,7 +49,7 @@ { local CONFFILE=$1 local var_regexp_group='\(User\|Group\|CommandsSocket\)' - local full_regexp=^[[:space:]]*${var_regexp_group}[[:space:]]\+\([^']*\)$ + local full_regexp=^[[:space:]]\*${var_regexp_group}[[:space:]]\+\([^']\*\)$ local variable local value I think asterisk sign was treated like a glob beeing in double quotes. --- Rinat
Bug#695856: minidlna: current and past fork()ing limits
Yes, that explains observed behavior. I started browsing before minidlna finished scanning, and thought high load was related to scanning process. Recent version I've tried (1.1.2+dfsg-1.1) works very well, I can't reproduce any issues I was reporting in the original message anymore. The issue is fixed. Thank you! --- Rinat
Bug#734596: manpages: pthread_barrier_t related man pages are missing
Среда, 8 января 2014, 13:14 +01:00 от Simon Paillard spaill...@debian.org: eglibc have pthread barrier support, but no documentation regarding its usage. It would be nice to have some manual pages for pthread_barrier_init, pthread_barrier_destroy, and pthread_barrier_wait. For your information, you can find those 3 manual pages in the non-free package manpages-posix-dev. Thanks for the tip! I should have done search over all packages before filing a bug. Sorry about that. Can we still have this one open? It would be nice to have those man pages in main section too. -- Rinat
Bug#576072: marked as done (xfce4-xkb-plugin: version 0.5.3.3 have too small font size displayed on panel)
Hi. Looks like this bug can be closed. It was fixed upstream's git two years ago. Current version 0.5.6 have it fixed too. --- Rinat
Bug#576072: xfce4-xkb-plugin: version 0.5.3.3 have too small font size displayed on panel
Package: xfce4-xkb-plugin Version: 0.5.3.3-2 Severity: normal Tags: patch When text mode chosen instead of flag mode for indication current layout, font size is too small, almost invisible. Plugin source reveals hardcoded font_sizes table which intented for panel_size conversion to font size. This table works nice for specific screen dpi, it seems. And doesn't work for me with 96 dpi. In patch attached i've specified font size in pixels (px after font size) equals to 95% panel size (5% gives apropriate space aroung text) -- System Information: Debian Release: squeeze/sid APT prefers testing APT policy: (500, 'testing') Architecture: i386 (i686) Kernel: Linux 2.6.32.8 (SMP w/1 CPU core) Locale: LANG=ru_RU.UTF-8, LC_CTYPE=ru_RU.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages xfce4-xkb-plugin depends on: ii libatk1.0-0 1.28.0-1 The ATK accessibility toolkit ii libc6 2.10.2-6 Embedded GNU C Library: Shared lib ii libcairo2 1.8.10-3 The Cairo 2D vector graphics libra ii libfontconfig1 2.8.0-2 generic font configuration library ii libfreetype62.3.11-1 FreeType 2 font engine, shared lib ii libglib2.0-02.22.4-1 The GLib library of C routines ii libgtk2.0-0 2.18.9-2 The GTK+ graphical user interface ii libpango1.0-0 1.26.2-2 Layout and rendering of internatio ii librsvg2-2 2.26.0-1 SAX-based renderer library for SVG ii libwnck22 2.28.0-1 Window Navigator Construction Kit ii libxfce4util4 4.6.1-2 Utility functions library for Xfce ii libxfcegui4-4 4.6.3-2 Basic GUI C functions for Xfce4 ii libxklavier15 4.0-2X Keyboard Extension high-level AP ii libxml2 2.7.6.dfsg-2+b1 GNOME XML library ii xfce4-panel 4.6.3-1 The Xfce4 desktop environment pane ii zlib1g 1:1.2.3.4.dfsg-3 compression library - runtime xfce4-xkb-plugin recommends no packages. xfce4-xkb-plugin suggests no packages. -- debconf-show failed --- xfce4-xkb-plugin-0.5.3.3/panel-plugin/xkb-cairo.c 2009-03-06 16:16:03.0 +0300 +++ xfce4-xkb-plugin-0.5.3.3-mod/panel-plugin/xkb-cairo.c 2010-03-31 18:29:47.0 +0400 @@ -32,7 +32,7 @@ #include xkb-cairo.h #include xkb-util.h -#define XKB_PREFERRED_FONT Courier New, Courier 10 Pitch, Monospace Bold %d +#define XKB_PREFERRED_FONT DejaVu Sans, Courier New, Courier 10 Pitch, Monospace Bold %dpx #define xkb_cairo_arc_for_flag(cr, x, y, r, a1, a2) \ xx = layoutx + width - 12 + x; \ @@ -170,7 +170,7 @@ layout = pango_cairo_create_layout (cr); pango_layout_set_text (layout, normalized_group_name, -1); -g_sprintf (font_str, XKB_PREFERRED_FONT, font_sizes[panel_size - 16]); +g_sprintf (font_str, XKB_PREFERRED_FONT, 0.95f * panel_size); desc = pango_font_description_from_string (font_str); pango_layout_set_font_description (layout, desc); pango_font_description_free (desc);