Fix problems discovered while testing on Windows.
* Set the working directory for glib-genmarshal correctly. * Use one more path suffix when searching for glibconfig.h. * Don't assume that gdk_screen_get_resolution() returns a useful value.
This commit is contained in:
parent
b44b3e6a54
commit
9dc1822040
@ -123,7 +123,16 @@ function (glib_genmarshal base prefix)
|
||||
set (command_base ${GLIB_GENMARSHAL_EXECUTABLE}
|
||||
--prefix ${prefix} "${base_name}.list")
|
||||
|
||||
# NOTE: VERBATIM may cause problems, so it is not used here
|
||||
# On Windows, the final makefile may contain:
|
||||
# cd e:\abc && ...
|
||||
# That won't actually change the directory. We have to do:
|
||||
# cd e:\abc && e: && ...
|
||||
if (WIN32 AND "${base_path}" MATCHES "^.:[/\\\\]")
|
||||
string (SUBSTRING "${base_path}" 0 2 base_drive)
|
||||
set (command_base "${base_drive}" && "${command_base}")
|
||||
endif (WIN32 AND "${base_path}" MATCHES "^.:[/\\\\]")
|
||||
|
||||
# NOTE: VERBATIM would cause problems, so it is not used here
|
||||
add_custom_command (OUTPUT ${base}.c
|
||||
COMMAND ${command_base} --body > "${base_name}.c"
|
||||
DEPENDS "${base}.list"
|
||||
|
@ -38,7 +38,7 @@ find_path (JSON_GLIB_INCLUDE_DIR_GOBJECT glib-object.h
|
||||
|
||||
find_path (JSON_GLIB_INCLUDE_DIR_GLIBCONFIG glibconfig.h
|
||||
PATHS /usr/lib
|
||||
PATH_SUFFIXES glib-2.0/include)
|
||||
PATH_SUFFIXES glib-2.0 glib-2.0/include)
|
||||
|
||||
find_library (JSON_GLIB_LIBRARIES json-glib-1.0)
|
||||
|
||||
|
@ -36,6 +36,9 @@
|
||||
/* Tolerance on all sides of symbols for strokes. */
|
||||
#define SYMBOL_AREA_TOLERANCE 0.5
|
||||
|
||||
/* The default screen resolution in DPI units. */
|
||||
#define DEFAULT_SCREEN_RESOLUTION 96
|
||||
|
||||
/*
|
||||
* LdCanvasPrivate:
|
||||
* @diagram: A diagram object assigned to this canvas as a model.
|
||||
@ -455,11 +458,16 @@ ld_canvas_get_library (LdCanvas *self)
|
||||
static gdouble
|
||||
ld_canvas_get_base_unit_in_px (GtkWidget *self)
|
||||
{
|
||||
gdouble resolution;
|
||||
|
||||
g_return_val_if_fail (GTK_IS_WIDGET (self), 1);
|
||||
|
||||
resolution = gdk_screen_get_resolution (gtk_widget_get_screen (self));
|
||||
if (resolution == -1)
|
||||
resolution = DEFAULT_SCREEN_RESOLUTION;
|
||||
|
||||
/* XXX: It might look better if the unit was rounded to a whole number. */
|
||||
return gdk_screen_get_resolution (gtk_widget_get_screen (self))
|
||||
/ MM_PER_INCH * LD_CANVAS_BASE_UNIT_LENGTH;
|
||||
return resolution / MM_PER_INCH * LD_CANVAS_BASE_UNIT_LENGTH;
|
||||
}
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user