Compare commits
18 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
aeddd3e48b | ||
|
|
4a42503509 | ||
|
|
87eae26934 | ||
|
|
799d1f7adb | ||
|
|
9fde11c4c1 | ||
|
|
5c25c0ad9a | ||
|
|
40b3e69a09 | ||
|
|
dcec13444f | ||
|
|
5ea59fb1dd | ||
|
|
26fa630c65 | ||
|
|
860d987001 | ||
|
|
27b5e17404 | ||
|
|
e071a0c117 | ||
|
|
f5fb6db1e3 | ||
|
|
09ed01e8a7 | ||
|
|
9feda1c92c | ||
|
|
0f02cd2bcb | ||
|
|
a20e7634b6 |
22
NEWS
22
NEWS
@@ -1,3 +1,25 @@
|
||||
Overview of Changes in GTK+ 3.8.9
|
||||
=================================
|
||||
|
||||
* Bugs fixed:
|
||||
719762 translate_crossing_mode() assertion error sinc...
|
||||
win32: add more width to the slider to not cut...
|
||||
win32: add margin to scale trough
|
||||
win32: set color for scale marks
|
||||
win32: actually match the separator
|
||||
win32: scale slider with marks was off by 2 pixels
|
||||
win32: handle again gtk-font-name
|
||||
|
||||
|
||||
Overview of Changes in GTK+ 3.8.8
|
||||
=================================
|
||||
|
||||
* Bugs fixed:
|
||||
705203 Natural scroll doesn't work immediately
|
||||
712799 Memory leak when listing Avahi printers
|
||||
715029 Ensure GdkScreen::monitors-changed gets emitted...
|
||||
|
||||
|
||||
Overview of Changes in GTK+ 3.8.7
|
||||
=================================
|
||||
|
||||
|
||||
@@ -20,6 +20,11 @@ ATK and GLib. External dependencies are at least Cairo
|
||||
gettext-runtime, fontconfig*, freetype*, expat*. See the
|
||||
build/win32/vs10/README.txt file in glib for details where to unpack them.
|
||||
|
||||
You will also need a Python 2.x/3.x interpretor installed on your system,
|
||||
which can be obtained from the official installers available from
|
||||
http://www.python.org. Please note that the Python interpretor (python.exe)
|
||||
needs to be in your PATH before attempting the build of GTK+.
|
||||
|
||||
It is recommended that one builds the dependencies with VS10 as far as
|
||||
possible, especially those from and using the GTK+ stack (i.e. GLib,
|
||||
Cairo, ATK, Pango, GDK-Pixbuf), so that crashes caused by mixing calls
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup Label="UserMacros">
|
||||
<VSVer>10</VSVer>
|
||||
<GlibEtcInstallRoot>..\..\..\..\vs$(VSVer)\$(Platform)</GlibEtcInstallRoot>
|
||||
<GlibEtcInstallRoot>$(SolutionDir)\..\..\..\..\vs$(VSVer)\$(Platform)</GlibEtcInstallRoot>
|
||||
<GlibEtcInstallRootFromBuildWin32>..\..\..\vs$(VSVer)\$(Platform)</GlibEtcInstallRootFromBuildWin32>
|
||||
<CopyDir>$(GlibEtcInstallRoot)</CopyDir>
|
||||
<CopyDir>..\..\..\..\vs$(VSVer)\$(Platform)</CopyDir>
|
||||
<DefDir>$(SolutionDir)$(Configuration)\$(Platform)\obj\$(ProjectName)</DefDir>
|
||||
<ApiVersion>3.0</ApiVersion>
|
||||
<GtkBinaryVersion>3.0.0</GtkBinaryVersion>
|
||||
@@ -710,6 +710,13 @@ cd vs$(VSVer)
|
||||
</DoGenGir>
|
||||
<GtkGenerateGdkDef>echo EXPORTS >"$(DefDir)\gdk.def" && cl /EP -DGDK_WINDOWING_WIN32 -DALL_FILES -DG_GNUC_CONST= ..\..\..\gdk\gdk.symbols >>"$(DefDir)\gdk.def"</GtkGenerateGdkDef>
|
||||
<GtkGenerateGtkDef>echo EXPORTS >"$(DefDir)\gtk.def" && cl /EP -DGDK_WINDOWING_WIN32 -DINCLUDE_VARIABLES -DG_OS_WIN32 -DALL_FILES -DG_GNUC_MALLOC= -DG_GNUC_CONST= -DG_GNUC_NULL_TERMINATED= -DG_GNUC_PRINTF=;G_GNUC_PRINTF ..\..\..\gtk\gtk.symbols >>"$(DefDir)\gtk.def"</GtkGenerateGtkDef>
|
||||
<GenerateGtkDbusBuiltSources>
|
||||
cd ..\..\..\gtk
|
||||
|
||||
python $(GlibEtcInstallRoot)\bin\gdbus-codegen --interface-prefix org.Gtk. --c-namespace _Gtk --generate-c-code gtkdbusgenerated ./gtkdbusinterfaces.xml
|
||||
|
||||
cd $(SolutionDir)
|
||||
</GenerateGtkDbusBuiltSources>
|
||||
<GtkLibtoolCompatibleDllPrefix>lib</GtkLibtoolCompatibleDllPrefix>
|
||||
<GtkLibtoolCompatibleDllSuffix>-$(ApiVersion)-0</GtkLibtoolCompatibleDllSuffix>
|
||||
<GtkSeparateVSDllPrefix />
|
||||
@@ -795,6 +802,9 @@ copy ..\..\..\gdk\gdkconfig.h.win32 ..\..\..\gdk\gdkconfig.h
|
||||
<BuildMacro Include="GtkGenerateGtkDef">
|
||||
<Value>$(GtkGenerateGtkDef)</Value>
|
||||
</BuildMacro>
|
||||
<BuildMacro Include="GenerateGtkDbusBuiltSources">
|
||||
<Value>$(GenerateGtkDbusBuiltSources)</Value>
|
||||
</BuildMacro>
|
||||
<BuildMacro Include="GtkLibtoolCompatibleDllPrefix">
|
||||
<Value>$(GtkLibtoolCompatibleDllPrefix)</Value>
|
||||
</BuildMacro>
|
||||
|
||||
@@ -36,8 +36,7 @@
|
||||
<ClCompile Include="..\..\..\modules\input\thai-charprop.c"><Filter>Source Files</Filter></ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<CustomBuild Include="..\..\..\gdk\gtk.symbols">
|
||||
<Filter>Resource Files</Filter>
|
||||
</CustomBuild>
|
||||
<CustomBuild Include="..\..\..\gdk\gtk.symbols"><Filter>Resource Files</Filter></CustomBuild>
|
||||
<CustomBuild Include="..\..\..\gtk\gtkdbusinterfaces.xml"><Filter>Resource Files</Filter></CustomBuild>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -177,6 +177,20 @@
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(GtkGenerateGtkDef)</Command>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(IntDir)gtk.def;%(Outputs)</Outputs>
|
||||
</CustomBuild>
|
||||
<CustomBuild Include="..\..\..\gtk\gtkdbusinterfaces.xml">
|
||||
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Generating GTK+ DBus Sources...</Message>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(GenerateGtkDbusBuiltSources)</Command>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\..\gtk\gtkdbusgenerated.c;..\..\..\gtk\gtkdbusgenerated.h;%(Outputs)</Outputs>
|
||||
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Generating GTK+ DBus Sources...</Message>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(GenerateGtkDbusBuiltSources)</Command>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\..\gtk\gtkdbusgenerated.c;..\..\..\gtk\gtkdbusgenerated.h;%(Outputs)</Outputs>
|
||||
<Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Generating GTK+ DBus Sources...</Message>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(GenerateGtkDbusBuiltSources)</Command>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\..\gtk\gtkdbusgenerated.c;..\..\..\gtk\gtkdbusgenerated.h;%(Outputs)</Outputs>
|
||||
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Generating GTK+ DBus Sources...</Message>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(GenerateGtkDbusBuiltSources)</Command>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\..\gtk\gtkdbusgenerated.c;..\..\..\gtk\gtkdbusgenerated.h;%(Outputs)</Outputs>
|
||||
</CustomBuild>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="..\..\..\gtk\gtk-win32.rc" />
|
||||
@@ -212,4 +226,4 @@
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
</Project>
|
||||
|
||||
@@ -19,6 +19,11 @@ ATK and GLib. External dependencies are at least Cairo
|
||||
gettext-runtime, fontconfig*, freetype*, expat*. See the
|
||||
build/win32/vs9/README.txt file in glib for details where to unpack them.
|
||||
|
||||
You will also need a Python 2.x/3.x interpretor installed on your system,
|
||||
which can be obtained from the official installers available from
|
||||
http://www.python.org. Please note that the Python interpretor (python.exe)
|
||||
needs to be in your PATH before attempting the build of GTK+.
|
||||
|
||||
It is recommended that one builds the dependencies with VS9 as far as
|
||||
possible, especially those from and using the GTK+ stack (i.e. GLib,
|
||||
Cairo, ATK, Pango, GDK-Pixbuf), so that crashes caused by mixing calls
|
||||
|
||||
@@ -33,7 +33,7 @@ copy ..\..\..\gdk\gdkconfig.h.win32 ..\..\..\gdk\gdkconfig.h

|
||||
/>
|
||||
<UserMacro
|
||||
Name="GlibEtcInstallRoot"
|
||||
Value="..\..\..\..\vs$(VSVer)\$(PlatformName)"
|
||||
Value="$(SolutionDir)\..\..\..\..\vs$(VSVer)\$(PlatformName)"
|
||||
/>
|
||||
<UserMacro
|
||||
Name="GlibEtcInstallRootFromBuildWin32"
|
||||
@@ -41,7 +41,7 @@ copy ..\..\..\gdk\gdkconfig.h.win32 ..\..\..\gdk\gdkconfig.h

|
||||
/>
|
||||
<UserMacro
|
||||
Name="CopyDir"
|
||||
Value="$(GlibEtcInstallRoot)"
|
||||
Value="..\..\..\..\vs$(VSVer)\$(PlatformName)"
|
||||
/>
|
||||
<UserMacro
|
||||
Name="ApiVersion"
|
||||
@@ -445,6 +445,14 @@ cd vs$(VSVer)

|
||||
Name="GtkGenerateGtkDef"
|
||||
Value="echo EXPORTS >"$(IntDir)\gtk.def" && cl /EP -DGDK_WINDOWING_WIN32 -DINCLUDE_VARIABLES -DG_OS_WIN32 -DALL_FILES -DG_GNUC_MALLOC= -DG_GNUC_CONST= -DG_GNUC_NULL_TERMINATED= -DG_GNUC_PRINTF=;G_GNUC_PRINTF ..\..\..\gtk\gtk.symbols >>"$(IntDir)\gtk.def""
|
||||
/>
|
||||
<UserMacro
|
||||
Name="GenerateGtkDbusBuiltSources"
|
||||
Value="
|
||||
cd ..\..\..\gtk

|
||||
python $(GlibEtcInstallRoot)\bin\gdbus-codegen --interface-prefix org.Gtk. --c-namespace _Gtk --generate-c-code gtkdbusgenerated ./gtkdbusinterfaces.xml

|
||||
cd $(SolutionDir)

|
||||
"
|
||||
/>
|
||||
<UserMacro
|
||||
Name="GtkLibtoolCompatibleDllPrefix"
|
||||
Value="lib"
|
||||
|
||||
@@ -210,6 +210,36 @@
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File RelativePath="..\..\..\gtk\gtkdbusinterfaces.xml">
|
||||
<FileConfiguration Name="Debug|Win32">
|
||||
<Tool Name="VCCustomBuildTool"
|
||||
Description="Generating GTK+ DBus Sources..."
|
||||
CommandLine="$(GenerateGtkDbusBuiltSources)"
|
||||
Outputs="..\..\..\gtk\gtkdbusgenerated.c;..\..\..\gtk\gtkdbusgenerated.h"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration Name="Release|Win32">
|
||||
<Tool Name="VCCustomBuildTool"
|
||||
Description="Generating GTK+ DBus Sources..."
|
||||
CommandLine="$(GenerateGtkDbusBuiltSources)"
|
||||
Outputs="..\..\..\gtk\gtkdbusgenerated.c;..\..\..\gtk\gtkdbusgenerated.h"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration Name="Debug|x64">
|
||||
<Tool Name="VCCustomBuildTool"
|
||||
Description="Generating GTK+ DBus Sources..."
|
||||
CommandLine="$(GenerateGtkDbusBuiltSources)"
|
||||
Outputs="..\..\..\gtk\gtkdbusgenerated.c;..\..\..\gtk\gtkdbusgenerated.h"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration Name="Release|x64">
|
||||
<Tool Name="VCCustomBuildTool"
|
||||
Description="Generating GTK+ DBus Sources..."
|
||||
CommandLine="$(GenerateGtkDbusBuiltSources)"
|
||||
Outputs="..\..\..\gtk\gtkdbusgenerated.c;..\..\..\gtk\gtkdbusgenerated.h"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File RelativePath="..\..\..\gtk\gtk-win32.rc" />
|
||||
</Filter>
|
||||
<Filter
|
||||
|
||||
@@ -10,8 +10,8 @@
|
||||
|
||||
m4_define([gtk_major_version], [3])
|
||||
m4_define([gtk_minor_version], [8])
|
||||
m4_define([gtk_micro_version], [7])
|
||||
m4_define([gtk_interface_age], [7])
|
||||
m4_define([gtk_micro_version], [9])
|
||||
m4_define([gtk_interface_age], [9])
|
||||
m4_define([gtk_binary_age],
|
||||
[m4_eval(100 * gtk_minor_version + gtk_micro_version)])
|
||||
m4_define([gtk_version],
|
||||
|
||||
@@ -406,7 +406,6 @@ _gdk_win32_screen_get_setting (GdkScreen *screen,
|
||||
g_value_set_boolean (value, TRUE);
|
||||
return TRUE;
|
||||
}
|
||||
#if 0
|
||||
/*
|
||||
* With 'MS Sans Serif' as windows menu font (default on win98se) you'll get a
|
||||
* bunch of :
|
||||
@@ -423,7 +422,7 @@ _gdk_win32_screen_get_setting (GdkScreen *screen,
|
||||
/* Pango finally uses GetDeviceCaps to scale, we use simple
|
||||
* approximation here.
|
||||
*/
|
||||
int nHeight = (0 > ncm.lfMenuFont.lfHeight ? -3*ncm.lfMenuFont.lfHeight/4 : 10);
|
||||
int nHeight = (0 > ncm.lfMenuFont.lfHeight ? - 3 * ncm.lfMenuFont.lfHeight / 4 : 10);
|
||||
if (OUT_STRING_PRECIS == ncm.lfMenuFont.lfOutPrecision)
|
||||
GDK_NOTE(MISC, g_print("gdk_screen_get_setting(%s) : ignoring bitmap font '%s'\n",
|
||||
name, ncm.lfMenuFont.lfFaceName));
|
||||
@@ -431,7 +430,7 @@ _gdk_win32_screen_get_setting (GdkScreen *screen,
|
||||
/* Avoid issues like those described in bug #135098 */
|
||||
g_utf8_validate (ncm.lfMenuFont.lfFaceName, -1, NULL))
|
||||
{
|
||||
char* s = g_strdup_printf ("%s %d", ncm.lfMenuFont.lfFaceName, nHeight);
|
||||
char *s = g_strdup_printf ("%s %d", ncm.lfMenuFont.lfFaceName, nHeight);
|
||||
GDK_NOTE(MISC, g_print("gdk_screen_get_setting(%s) : %s\n", name, s));
|
||||
g_value_set_string (value, s);
|
||||
|
||||
@@ -440,7 +439,6 @@ _gdk_win32_screen_get_setting (GdkScreen *screen,
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@@ -859,6 +859,14 @@ _gdk_device_xi2_reset_scroll_valuators (GdkX11DeviceXI2 *device)
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
_gdk_device_xi2_unset_scroll_valuators (GdkX11DeviceXI2 *device)
|
||||
{
|
||||
if (device->scroll_valuators->len > 0)
|
||||
g_array_remove_range (device->scroll_valuators, 0,
|
||||
device->scroll_valuators->len);
|
||||
}
|
||||
|
||||
gint
|
||||
_gdk_x11_device_xi2_get_id (GdkX11DeviceXI2 *device)
|
||||
{
|
||||
|
||||
@@ -838,6 +838,10 @@ _gdk_device_manager_core_handle_focus (GdkWindow *window,
|
||||
*/
|
||||
if (toplevel->has_pointer &&
|
||||
mode != NotifyGrab &&
|
||||
#ifdef XINPUT_2
|
||||
mode != XINotifyPassiveGrab &&
|
||||
mode != XINotifyPassiveUngrab &&
|
||||
#endif /* XINPUT_2 */
|
||||
mode != NotifyUngrab)
|
||||
toplevel->has_pointer_focus = (focus_in) ? FALSE : TRUE;
|
||||
|
||||
@@ -845,6 +849,10 @@ _gdk_device_manager_core_handle_focus (GdkWindow *window,
|
||||
case NotifyNonlinear:
|
||||
case NotifyNonlinearVirtual:
|
||||
if (mode != NotifyGrab &&
|
||||
#ifdef XINPUT_2
|
||||
mode != XINotifyPassiveGrab &&
|
||||
mode != XINotifyPassiveUngrab &&
|
||||
#endif /* XINPUT_2 */
|
||||
mode != NotifyUngrab)
|
||||
toplevel->has_focus_window = (focus_in) ? TRUE : FALSE;
|
||||
/* We pretend that the focus moves to the grab
|
||||
@@ -860,6 +868,10 @@ _gdk_device_manager_core_handle_focus (GdkWindow *window,
|
||||
* grab is in effect
|
||||
*/
|
||||
if (mode != NotifyGrab &&
|
||||
#ifdef XINPUT_2
|
||||
mode != XINotifyPassiveGrab &&
|
||||
mode != XINotifyPassiveUngrab &&
|
||||
#endif /* XINPUT_2 */
|
||||
mode != NotifyUngrab)
|
||||
toplevel->has_pointer_focus = (focus_in) ? TRUE : FALSE;
|
||||
break;
|
||||
|
||||
@@ -765,6 +765,7 @@ handle_device_changed (GdkX11DeviceManagerXI2 *device_manager,
|
||||
if (device)
|
||||
{
|
||||
_gdk_device_reset_axes (device);
|
||||
_gdk_device_xi2_unset_scroll_valuators ((GdkX11DeviceXI2 *) device);
|
||||
translate_device_classes (display, device, ev->classes, ev->num_classes);
|
||||
|
||||
g_signal_emit_by_name (G_OBJECT (device), "changed");
|
||||
@@ -779,12 +780,16 @@ translate_crossing_mode (gint mode)
|
||||
{
|
||||
switch (mode)
|
||||
{
|
||||
case NotifyNormal:
|
||||
case XINotifyNormal:
|
||||
return GDK_CROSSING_NORMAL;
|
||||
case NotifyGrab:
|
||||
case XINotifyGrab:
|
||||
case XINotifyPassiveGrab:
|
||||
return GDK_CROSSING_GRAB;
|
||||
case NotifyUngrab:
|
||||
case XINotifyUngrab:
|
||||
case XINotifyPassiveUngrab:
|
||||
return GDK_CROSSING_UNGRAB;
|
||||
case XINotifyWhileGrabbed:
|
||||
/* Fall through, unexpected in pointer crossing events */
|
||||
default:
|
||||
g_assert_not_reached ();
|
||||
}
|
||||
|
||||
@@ -230,6 +230,8 @@ guint _gdk_x11_device_xi2_translate_state (XIModifierState *mods_state,
|
||||
XIButtonState *buttons_state,
|
||||
XIGroupState *group_state);
|
||||
gint _gdk_x11_device_xi2_get_id (GdkX11DeviceXI2 *device);
|
||||
void _gdk_device_xi2_unset_scroll_valuators (GdkX11DeviceXI2 *device);
|
||||
|
||||
|
||||
GdkDevice * _gdk_x11_device_manager_xi2_lookup (GdkX11DeviceManagerXI2 *device_manager_xi2,
|
||||
gint device_id);
|
||||
|
||||
@@ -96,13 +96,13 @@ gdk_x11_screen_get_display (GdkScreen *screen)
|
||||
static gint
|
||||
gdk_x11_screen_get_width (GdkScreen *screen)
|
||||
{
|
||||
return WidthOfScreen (GDK_X11_SCREEN (screen)->xscreen);
|
||||
return GDK_X11_SCREEN (screen)->width;
|
||||
}
|
||||
|
||||
static gint
|
||||
gdk_x11_screen_get_height (GdkScreen *screen)
|
||||
{
|
||||
return HeightOfScreen (GDK_X11_SCREEN (screen)->xscreen);
|
||||
return GDK_X11_SCREEN (screen)->height;
|
||||
}
|
||||
|
||||
static gint
|
||||
@@ -895,8 +895,8 @@ _gdk_x11_screen_get_edge_monitors (GdkScreen *screen,
|
||||
gint *right)
|
||||
{
|
||||
GdkX11Screen *x11_screen = GDK_X11_SCREEN (screen);
|
||||
gint top_most_pos = HeightOfScreen (GDK_X11_SCREEN (screen)->xscreen);
|
||||
gint left_most_pos = WidthOfScreen (GDK_X11_SCREEN (screen)->xscreen);
|
||||
gint top_most_pos = x11_screen->height;
|
||||
gint left_most_pos = x11_screen->width;
|
||||
gint bottom_most_pos = 0;
|
||||
gint right_most_pos = 0;
|
||||
gint monitor_num;
|
||||
@@ -1025,6 +1025,30 @@ init_multihead (GdkScreen *screen)
|
||||
HeightOfScreen (x11_screen->xscreen));
|
||||
}
|
||||
|
||||
static void
|
||||
update_bounding_box (GdkScreen *screen)
|
||||
{
|
||||
GdkX11Screen *x11_screen = GDK_X11_SCREEN (screen);
|
||||
gint i, x1, y1, x2, y2;
|
||||
|
||||
x1 = y1 = G_MAXINT;
|
||||
x2 = y2 = G_MININT;
|
||||
|
||||
for (i = 0; i < x11_screen->n_monitors; i++)
|
||||
{
|
||||
GdkX11Monitor *monitor;
|
||||
|
||||
monitor = &x11_screen->monitors[i];
|
||||
x1 = MIN (x1, monitor->geometry.x);
|
||||
y1 = MIN (y1, monitor->geometry.y);
|
||||
x2 = MAX (x2, monitor->geometry.x + monitor->geometry.width);
|
||||
y2 = MAX (y2, monitor->geometry.y + monitor->geometry.height);
|
||||
}
|
||||
|
||||
x11_screen->width = x2 - x1;
|
||||
x11_screen->height = y2 - y1;
|
||||
}
|
||||
|
||||
GdkScreen *
|
||||
_gdk_x11_screen_new (GdkDisplay *display,
|
||||
gint screen_number)
|
||||
@@ -1050,7 +1074,8 @@ _gdk_x11_screen_new (GdkDisplay *display,
|
||||
|
||||
_gdk_x11_screen_init_visuals (screen);
|
||||
_gdk_x11_screen_init_root_window (screen);
|
||||
|
||||
update_bounding_box (screen);
|
||||
|
||||
return screen;
|
||||
}
|
||||
|
||||
@@ -1122,11 +1147,13 @@ process_monitors_change (GdkScreen *screen)
|
||||
x11_screen->monitors, x11_screen->n_monitors) ||
|
||||
x11_screen->primary_monitor != primary_monitor;
|
||||
|
||||
|
||||
free_monitors (monitors, n_monitors);
|
||||
|
||||
if (changed)
|
||||
g_signal_emit_by_name (screen, "monitors-changed");
|
||||
{
|
||||
update_bounding_box (screen);
|
||||
g_signal_emit_by_name (screen, "monitors-changed");
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
@@ -47,6 +47,9 @@ struct _GdkX11Screen
|
||||
GdkX11Monitor *monitors;
|
||||
gint primary_monitor;
|
||||
|
||||
gint width;
|
||||
gint height;
|
||||
|
||||
/* Xft resources for the display, used for default values for
|
||||
* the Xft/ XSETTINGS
|
||||
*/
|
||||
|
||||
@@ -432,19 +432,26 @@ GtkButton.check:active:prelight {
|
||||
.scale {
|
||||
background-color: transparent;
|
||||
-GtkScale-value-spacing: 0;
|
||||
-GtkScale-slider-length: 9;
|
||||
-GtkScale-slider-length: 12;
|
||||
-GtkRange-slider-width: 20;
|
||||
-GtkRange-trough-border: 0;
|
||||
}
|
||||
|
||||
.scale.trough {
|
||||
margin: 8px 0;
|
||||
border-style: none;
|
||||
border-width: 0;
|
||||
background-image: -gtk-win32-theme-part(trackbar, 1 1, margins (2 0 2 0));
|
||||
background-image: -gtk-win32-theme-part(trackbar, 1 1);
|
||||
}
|
||||
|
||||
.scale.trough.vertical {
|
||||
background-image: -gtk-win32-theme-part(trackbar, 1 1, margins (0 2 0 2));
|
||||
margin: 0 8px;
|
||||
background-image: -gtk-win32-theme-part(trackbar, 1 1);
|
||||
}
|
||||
|
||||
.scale.mark.separator {
|
||||
/* defines the color of the actuall marks on the scale */
|
||||
color: shade(@bg_color, 0.6);
|
||||
}
|
||||
|
||||
.scale.slider {
|
||||
@@ -493,89 +500,89 @@ GtkButton.check:active:prelight {
|
||||
}
|
||||
|
||||
.scale.slider.scale-has-marks-below {
|
||||
background-image: -gtk-win32-theme-part(trackbar, 4 1);
|
||||
background-image: -gtk-win32-theme-part(trackbar, 4 1, margins(0 -2 0 0));
|
||||
}
|
||||
|
||||
.scale.slider.scale-has-marks-below:prelight {
|
||||
background-image: -gtk-win32-theme-part(trackbar, 4 2);
|
||||
background-image: -gtk-win32-theme-part(trackbar, 4 2, margins(0 -2 0 0));
|
||||
}
|
||||
|
||||
.scale.slider.scale-has-marks-below:active,
|
||||
.scale.slider.scale-has-marks-below:prelight:active {
|
||||
background-image: -gtk-win32-theme-part(trackbar, 4 3);
|
||||
background-image: -gtk-win32-theme-part(trackbar, 4 3, margins(0 -2 0 0));
|
||||
}
|
||||
|
||||
.scale.slider.scale-has-marks-below:focus {
|
||||
background-image: -gtk-win32-theme-part(trackbar, 4 4);
|
||||
background-image: -gtk-win32-theme-part(trackbar, 4 4, margins(0 -2 0 0));
|
||||
}
|
||||
|
||||
.scale.slider.scale-has-marks-below:insensitive {
|
||||
background-image: -gtk-win32-theme-part(trackbar, 4 5);
|
||||
background-image: -gtk-win32-theme-part(trackbar, 4 5, margins(0 -2 0 0));
|
||||
}
|
||||
|
||||
.scale.slider.scale-has-marks-below.vertical {
|
||||
background-image: -gtk-win32-theme-part(trackbar, 8 1);
|
||||
background-image: -gtk-win32-theme-part(trackbar, 8 1, margins(0 0 -2 0));
|
||||
}
|
||||
|
||||
.scale.slider.scale-has-marks-below.vertical:prelight {
|
||||
background-image: -gtk-win32-theme-part(trackbar, 8 2);
|
||||
background-image: -gtk-win32-theme-part(trackbar, 8 2, margins(0 0 -2 0));
|
||||
}
|
||||
|
||||
.scale.slider.scale-has-marks-below.vertical:active,
|
||||
.scale.slider.scale-has-marks-below.vertical:prelight:active {
|
||||
background-image: -gtk-win32-theme-part(trackbar, 8 3);
|
||||
background-image: -gtk-win32-theme-part(trackbar, 8 3, margins(0 0 -2 0));
|
||||
}
|
||||
|
||||
.scale.slider.scale-has-marks-below.vertical:focus {
|
||||
background-image: -gtk-win32-theme-part(trackbar, 8 4);
|
||||
background-image: -gtk-win32-theme-part(trackbar, 8 4, margins(0 0 -2 0));
|
||||
}
|
||||
|
||||
.scale.slider.scale-has-marks-below.vertical:insensitive {
|
||||
background-image: -gtk-win32-theme-part(trackbar, 8 5);
|
||||
background-image: -gtk-win32-theme-part(trackbar, 8 5, margins(0 0 -2 0));
|
||||
}
|
||||
|
||||
|
||||
|
||||
.scale.slider.scale-has-marks-above {
|
||||
background-image: -gtk-win32-theme-part(trackbar, 5 1);
|
||||
background-image: -gtk-win32-theme-part(trackbar, 5 1, margins(0 -2 0 0));
|
||||
}
|
||||
|
||||
.scale.slider.scale-has-marks-above:prelight {
|
||||
background-image: -gtk-win32-theme-part(trackbar, 5 2);
|
||||
background-image: -gtk-win32-theme-part(trackbar, 5 2, margins(0 -2 0 0));
|
||||
}
|
||||
|
||||
.scale.slider.scale-has-marks-above:active,
|
||||
.scale.slider.scale-has-marks-above:prelight:active {
|
||||
background-image: -gtk-win32-theme-part(trackbar, 5 3);
|
||||
background-image: -gtk-win32-theme-part(trackbar, 5 3, margins(0 -2 0 0));
|
||||
}
|
||||
|
||||
.scale.slider.scale-has-marks-above:focus {
|
||||
background-image: -gtk-win32-theme-part(trackbar, 5 4);
|
||||
background-image: -gtk-win32-theme-part(trackbar, 5 4, margins(0 -2 0 0));
|
||||
}
|
||||
|
||||
.scale.slider.scale-has-marks-above:insensitive {
|
||||
background-image: -gtk-win32-theme-part(trackbar, 5 5);
|
||||
background-image: -gtk-win32-theme-part(trackbar, 5 5, margins(0 -2 0 0));
|
||||
}
|
||||
|
||||
.scale.slider.scale-has-marks-above.vertical {
|
||||
background-image: -gtk-win32-theme-part(trackbar, 7 1);
|
||||
background-image: -gtk-win32-theme-part(trackbar, 7 1, margins(0 0 -2 0));
|
||||
}
|
||||
|
||||
.scale.slider.scale-has-marks-above.vertical:prelight {
|
||||
background-image: -gtk-win32-theme-part(trackbar, 7 2);
|
||||
background-image: -gtk-win32-theme-part(trackbar, 7 2, margins(0 0 -2 0));
|
||||
}
|
||||
|
||||
.scale.slider.scale-has-marks-above.vertical:active,
|
||||
.scale.slider.scale-has-marks-above.vertical:prelight:active {
|
||||
background-image: -gtk-win32-theme-part(trackbar, 7 3);
|
||||
background-image: -gtk-win32-theme-part(trackbar, 7 3, margins(0 0 -2 0));
|
||||
}
|
||||
|
||||
.scale.slider.scale-has-marks-above.vertical:focus {
|
||||
background-image: -gtk-win32-theme-part(trackbar, 7 4);
|
||||
background-image: -gtk-win32-theme-part(trackbar, 7 4, margins(0 0 -2 0));
|
||||
}
|
||||
|
||||
.scale.slider.scale-has-marks-above.vertical:insensitive {
|
||||
background-image: -gtk-win32-theme-part(trackbar, 7 5);
|
||||
background-image: -gtk-win32-theme-part(trackbar, 7 5, margins(0 0 -2 0));
|
||||
}
|
||||
|
||||
/* Progress bars */
|
||||
|
||||
@@ -2626,10 +2626,11 @@ avahi_service_resolver_cb (GObject *source_object,
|
||||
GError *error = NULL;
|
||||
gchar *suffix = NULL;
|
||||
gchar *tmp;
|
||||
gsize length;
|
||||
gint interface;
|
||||
gint protocol;
|
||||
gint aprotocol;
|
||||
gint i, j;
|
||||
gint i;
|
||||
|
||||
output = g_dbus_connection_call_finish (G_DBUS_CONNECTION (source_object),
|
||||
res,
|
||||
@@ -2655,20 +2656,26 @@ avahi_service_resolver_cb (GObject *source_object,
|
||||
{
|
||||
child = g_variant_get_child_value (txt, i);
|
||||
|
||||
tmp = g_new0 (gchar, g_variant_n_children (child) + 1);
|
||||
for (j = 0; j < g_variant_n_children (child); j++)
|
||||
length = g_variant_get_size (child);
|
||||
if (length > 0)
|
||||
{
|
||||
tmp[j] = g_variant_get_byte (g_variant_get_child_value (child, j));
|
||||
}
|
||||
tmp = g_strndup (g_variant_get_data (child), length);
|
||||
|
||||
g_variant_unref (child);
|
||||
|
||||
if (g_str_has_prefix (tmp, "rp="))
|
||||
{
|
||||
suffix = g_strdup (tmp + 3);
|
||||
g_free (tmp);
|
||||
break;
|
||||
}
|
||||
|
||||
if (g_str_has_prefix (tmp, "rp="))
|
||||
{
|
||||
suffix = g_strdup (tmp + 3);
|
||||
g_free (tmp);
|
||||
break;
|
||||
}
|
||||
|
||||
g_free (tmp);
|
||||
else
|
||||
{
|
||||
g_variant_unref (child);
|
||||
}
|
||||
}
|
||||
|
||||
if (suffix)
|
||||
@@ -2702,6 +2709,7 @@ avahi_service_resolver_cb (GObject *source_object,
|
||||
g_free (suffix);
|
||||
}
|
||||
|
||||
g_variant_unref (txt);
|
||||
g_variant_unref (output);
|
||||
}
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user