Commit e1f25cc2 authored by Andreas Beckmann's avatar Andreas Beckmann

New upstream version 387.34

parents 8bfa13bb 9e8c1f49
NVIDIA_VERSION = 384.98
NVIDIA_VERSION = 387.34
NVIDIA_VERSION = 384.98
NVIDIA_VERSION = 387.34
......@@ -219,6 +219,8 @@ XCP_OBJS = $(call BUILD_OBJECT_LIST,$(XCP_SRC))
GTK2_OBJS = $(call BUILD_OBJECT_LIST_WITH_DIR,$(GTK_SRC),$(GTK2LIB_DIR))
GTK3_OBJS = $(call BUILD_OBJECT_LIST_WITH_DIR,$(GTK_SRC),$(GTK3LIB_DIR))
IMAGE_OBJS = $(addprefix $(OUTPUTDIR)/,$(addsuffix .o,$(notdir $(IMAGE_FILES))))
IMAGE_HEADERS = $(addprefix $(OUTPUTDIR)/,$(addsuffix .h,$(notdir $(IMAGE_FILES))))
CFLAGS += -I .
CFLAGS += -I image_data
......@@ -252,6 +254,13 @@ ifneq ($(NV_USE_BUNDLED_LIBJANSSON),0)
$(call BUILD_OBJECT_LIST,$(JANSSON_SRC)): CFLAGS += $(JANSSON_CFLAGS)
endif
define BINARY_DATA_HEADER_RULE
$$(OUTPUTDIR)/$(notdir $(1)).h:
$(at_if_quiet){ \
$$(PRINTF) "extern const char _binary_$(subst .,_,$(notdir $(1)))_start[];\n"; \
$$(PRINTF) "extern const char _binary_$(subst .,_,$(notdir $(1)))_end[];\n"; \
} > $$@
endef
##############################################################################
# build rules
......@@ -282,21 +291,21 @@ $(NVIDIA_SETTINGS).unstripped: $(OBJS) $(XNVCTRL_ARCHIVE)
-rdynamic -o $@ $(OBJS) $(XNVCTRL_ARCHIVE) $(LIBS)
$(eval $(call DEBUG_INFO_RULES, $(GTK2LIB)))
$(GTK2LIB).unstripped: $(GTK2_OBJS) $(XCP_OBJS) $(VERSION_MK)
$(GTK2LIB).unstripped: $(GTK2_OBJS) $(XCP_OBJS) $(IMAGE_OBJS) $(VERSION_MK)
$(call quiet_cmd,LINK) -shared $(CFLAGS) $(LDFLAGS) $(BIN_LDFLAGS) \
$(XNVCTRL_ARCHIVE) $(LIBS) $(GTK2_LIBS) \
-Wl,--unresolved-symbols=ignore-all -o $@ \
-Wl,-soname -Wl,$(GTK2LIB_SONAME) \
$(GTK2_OBJS) $(XCP_OBJS)
$(GTK2_OBJS) $(IMAGE_OBJS) $(XCP_OBJS)
ifdef BUILD_GTK3LIB
$(eval $(call DEBUG_INFO_RULES, $(GTK3LIB)))
$(GTK3LIB).unstripped: $(GTK3_OBJS) $(XCP_OBJS) $(VERSION_MK)
$(GTK3LIB).unstripped: $(GTK3_OBJS) $(XCP_OBJS) $(IMAGE_OBJS) $(VERSION_MK)
$(call quiet_cmd,LINK) -shared $(CFLAGS) $(LDFLAGS) $(BIN_LDFLAGS) \
$(XNVCTRL_ARCHIVE) $(LIBS) $(GTK3_LIBS) \
-Wl,--unresolved-symbols=ignore-all -o $@ \
-Wl,-soname -Wl,$(GTK3LIB_SONAME) \
$(GTK3_OBJS) $(XCP_OBJS)
$(GTK3_OBJS) $(XCP_OBJS) $(IMAGE_OBJS)
endif
# define the rule to build each object file
......@@ -315,7 +324,8 @@ build-xnvctrl:
clean clobber:
rm -rf $(NVIDIA_SETTINGS) *~ $(STAMP_C) \
$(OUTPUTDIR)/*.o $(OUTPUTDIR)/*.d \
$(GTK2LIB) $(GTK3LIB) $(GTK2LIB_DIR) $(GTK3LIB_DIR)
$(GTK2LIB) $(GTK3LIB) $(GTK2LIB_DIR) $(GTK3LIB_DIR) \
$(IMAGE_HEADERS)
@$(MAKE) -C $(XNVCTRL_DIR) -f $(XNVCTRL_MAKEFILE) clean
$(foreach src,$(GTK_SRC), \
......@@ -326,3 +336,14 @@ $(foreach src,$(GTK_SRC), \
$(eval $(call DEFINE_OBJECT_RULE_WITH_DIR,TARGET,$(src),$(GTK3LIB_DIR))))
endif
# Build $(IMAGE_OBJS)
$(foreach png,$(IMAGE_FILES), \
$(eval $(call READ_ONLY_OBJECT_FROM_FILE_RULE,$(png))))
# Build $(IMAGE_HEADERS)
$(foreach png,$(IMAGE_FILES), \
$(eval $(call BINARY_DATA_HEADER_RULE,$(png))))
$(GTK2_OBJS): $(IMAGE_HEADERS)
ifdef BUILD_GTK3LIB
$(GTK3_OBJS): $(IMAGE_HEADERS)
endif
This diff is collapsed.
......@@ -544,6 +544,9 @@ GtkTextBuffer *ctk_config_create_help(CtkConfig *ctk_config, GtkTextTagTable *ta
"consecutive polls (in milliseconds). The Active "
"Timers table is only visible when timers are active.");
ctk_help_heading(b, &i, "Save Current Configuration");
ctk_help_para(b, &i, "%s", __save_current_config_help);
ctk_help_finish(b);
return b;
......
......@@ -587,10 +587,9 @@ Bool mode_set_rotation(nvModePtr mode, Rotation rotation)
/** apply_mode_attribute_token() *************************************
*
* Modifies the nvMode structure (pointed to by data) with
* information from the token-value pair given. Currently accepts
* stereo (mode) data.
* information from the token-value pair given.
*
* Unknown token and/or values are silently ignored.
* Unknown tokens and/or values are silently ignored.
*
**/
static void apply_mode_attribute_token(char *token, char *value, void *data)
......@@ -674,6 +673,12 @@ static void apply_mode_attribute_token(char *token, char *value, void *data)
if (!strcasecmp("on", value)) {
mode->forceFullCompositionPipeline = True;
}
/* AllowGSYNC */
} else if (!strcasecmp("allowgsync", token)) {
if (!strcasecmp("off", value)) {
mode->allowGSYNC = False;
}
}
}
......@@ -714,6 +719,7 @@ nvModePtr mode_parse(nvDisplayPtr display, const char *mode_str)
mode->reflection = REFLECTION_NONE;
mode->passive_stereo_eye = PASSIVE_STEREO_EYE_NONE;
mode->position_type = CONF_ADJ_ABSOLUTE;
mode->allowGSYNC = True;
/* Read the mode name */
......@@ -1186,6 +1192,14 @@ static gchar *mode_get_str(nvLayoutPtr layout,
flags_str = tmp;
}
/* AllowGSYNC */
if (!mode->allowGSYNC) {
tmp = g_strdup_printf("%s, AllowGSYNC=Off",
(flags_str ? flags_str : ""));
g_free(flags_str);
flags_str = tmp;
}
if (flags_str) {
tmp = g_strdup_printf("%s {%s}",
mode_str,
......@@ -1637,31 +1651,6 @@ void display_remove_modes(nvDisplayPtr display)
/*!
* Sets all the modes on the display to the specified rotation
*
* \param[in] mode The display who's modes are to be modified
* \param[in] rotation The rotation to set
*
* \return TRUE if a new rotation was set for at least one mode, FALSE if all
* of the modes on the display were already set to the rotation given.
*/
Bool display_set_modes_rotation(nvDisplayPtr display, Rotation rotation)
{
nvModePtr mode;
Bool modified = FALSE;
for (mode = display->modes; mode; mode = mode->next) {
if (mode_set_rotation(mode, rotation)) {
modified = TRUE;
}
}
return modified;
}
/** display_free() ***************************************************
*
* Frees memory used by a display
......
......@@ -82,7 +82,6 @@ Bool display_has_modeline(nvDisplayPtr display, nvModeLinePtr modeline);
Bool display_add_modelines_from_server(nvDisplayPtr display, nvGpuPtr gpu,
gchar **err_str);
void display_remove_modes(nvDisplayPtr display);
Bool display_set_modes_rotation(nvDisplayPtr display, Rotation rotation);
/* Metamode functions */
......
......@@ -2541,19 +2541,30 @@ static void setup_mosaic_config(CtkDisplayConfig *ctk_object)
{
nvDisplayPtr display = ctk_display_layout_get_selected_display
(CTK_DISPLAY_LAYOUT(ctk_object->obj_layout));
nvScreenPtr screen = ctk_display_layout_get_selected_screen
(CTK_DISPLAY_LAYOUT(ctk_object->obj_layout));
nvGpuPtr gpu;
const char *tooltip;
const gchar *label;
gboolean display_gpu_support_mosaic = (display && display->gpu &&
display->gpu->mosaic_type != MOSAIC_TYPE_UNSUPPORTED);
gboolean screen_gpu_support_mosaic = (screen && screen->display_owner_gpu &&
screen->display_owner_gpu->mosaic_type != MOSAIC_TYPE_UNSUPPORTED);
if (!display || !display->gpu || !ctk_object->advanced_mode ||
display->gpu->mosaic_type == MOSAIC_TYPE_UNSUPPORTED) {
if (!ctk_object->advanced_mode ||
(!display_gpu_support_mosaic && !screen_gpu_support_mosaic)) {
gtk_widget_hide(ctk_object->chk_mosaic_enabled);
return;
}
gtk_widget_show(ctk_object->chk_mosaic_enabled);
gpu = display->gpu;
if (display_gpu_support_mosaic) {
gpu = display->gpu;
} else {
gpu = screen->display_owner_gpu;
}
switch (gpu->mosaic_type) {
case MOSAIC_TYPE_SLI_MOSAIC:
......@@ -6182,6 +6193,8 @@ static void display_refresh_changed(GtkWidget *widget, gpointer user_data)
gint idx;
nvModeLinePtr modeline;
nvDisplayPtr display;
Rotation old_rotation;
Reflection old_reflection;
/* Get the modeline and display to set */
......@@ -6190,6 +6203,9 @@ static void display_refresh_changed(GtkWidget *widget, gpointer user_data)
display = ctk_display_layout_get_selected_display
(CTK_DISPLAY_LAYOUT(ctk_object->obj_layout));
/* Save the current rotation and reflection settings */
old_rotation = display->cur_mode->rotation;
old_reflection = display->cur_mode->reflection;
/* In Basic view, we assume the user most likely wants
* to change which metamode is being used.
......@@ -6214,6 +6230,24 @@ static void display_refresh_changed(GtkWidget *widget, gpointer user_data)
&display->cur_mode->viewPortIn,
&display->cur_mode->viewPortOut);
/* If we are in Basic mode, apply the rotation and reflection settings from
* the previous mode to the new mode.
*/
if (!ctk_object->advanced_mode) {
if (display->cur_mode->rotation != old_rotation) {
ctk_display_layout_set_display_rotation(
CTK_DISPLAY_LAYOUT(ctk_object->obj_layout),
display, old_rotation);
}
if (display->cur_mode->reflection != old_reflection) {
ctk_display_layout_set_display_reflection(
CTK_DISPLAY_LAYOUT(ctk_object->obj_layout),
display, old_reflection);
}
}
/* Update the modename */
setup_display_modename(ctk_object);
......@@ -6236,6 +6270,8 @@ static void display_resolution_changed(GtkWidget *widget, gpointer user_data)
gint last_idx;
nvSelectedModePtr selected_mode;
nvDisplayPtr display;
Rotation old_rotation;
Reflection old_reflection;
/* Get the modeline and display to set */
......@@ -6254,6 +6290,9 @@ static void display_resolution_changed(GtkWidget *widget, gpointer user_data)
return;
}
/* Save the current rotation and reflection settings */
old_rotation = display->cur_mode->rotation;
old_reflection = display->cur_mode->reflection;
/* In Basic view, we assume the user most likely wants
* to change which metamode is being used.
......@@ -6289,6 +6328,24 @@ static void display_resolution_changed(GtkWidget *widget, gpointer user_data)
NULL /* viewPortOut */);
}
/* If we are in Basic mode, apply the rotation and reflection settings from
* the previous mode to the new mode.
*/
if (!ctk_object->advanced_mode) {
if (display->cur_mode->rotation != old_rotation) {
ctk_display_layout_set_display_rotation(
CTK_DISPLAY_LAYOUT(ctk_object->obj_layout),
display, old_rotation);
}
if (display->cur_mode->reflection != old_reflection) {
ctk_display_layout_set_display_reflection(
CTK_DISPLAY_LAYOUT(ctk_object->obj_layout),
display, old_reflection);
}
}
/* Update the UI */
setup_display_page(ctk_object);
......
......@@ -1965,6 +1965,8 @@ static int move_selected(CtkDisplayLayout *ctk_object, int x, int y, int snap)
sdim = get_screen_rect(info->screen, 1);
/* Prevent moving out of the max layout bounds */
/* Restrict movement in the positive direction */
x = MAX_LAYOUT_WIDTH - dim->width;
if (info->dst_dim.x > x) {
info->modify_dim.x += x - info->dst_dim.x;
......@@ -1975,12 +1977,18 @@ static int move_selected(CtkDisplayLayout *ctk_object, int x, int y, int snap)
info->modify_dim.y += y - info->dst_dim.y;
info->dst_dim.y = y;
}
x = layout->dim.width - MAX_LAYOUT_WIDTH;
/* Restrict movement in the negative direction. As long as the total
* distance does not exceed our maximum value, we can recalculate the
* layout origin. We should also make sure that the current origin (0,0)
* is accessible to the user.
*/
x = NV_MIN(layout->dim.width - MAX_LAYOUT_WIDTH, 0);
if (info->dst_dim.x < x) {
info->modify_dim.x += x - info->dst_dim.x;
info->dst_dim.x = x;
}
y = layout->dim.height - MAX_LAYOUT_HEIGHT;
y = NV_MIN(layout->dim.height - MAX_LAYOUT_HEIGHT, 0);
if (info->dst_dim.y < y) {
info->modify_dim.y += y - info->dst_dim.y;
info->dst_dim.y = y;
......@@ -4452,9 +4460,7 @@ void ctk_display_layout_set_display_panning(CtkDisplayLayout *ctk_object,
/*!
* Sets the rotation orientation for the display.
*
* In basic mode, this function will make all modes on the display have the
* same rotation. In advanced mode, only the current mode will have its
* rotation orientation modified.
* Only the current mode will have its rotation orientation modified.
*
* If a modification occurs, this function will call the modified_callback
* handler registered, if any.
......@@ -4467,23 +4473,13 @@ void ctk_display_layout_set_display_rotation(CtkDisplayLayout *ctk_object,
nvDisplayPtr display,
Rotation rotation)
{
Bool modified;
if (!display->cur_mode ||
!display->cur_mode->modeline) {
return;
}
if (ctk_object->advanced_mode) {
/* In advanced mode, only set the rotation of the current mode */
modified = mode_set_rotation(display->cur_mode, rotation);
} else {
/* In basic mode, make all the modes have the same rotation */
modified = display_set_modes_rotation(display, rotation);
}
if (mode_set_rotation(display->cur_mode, rotation)) {
if (modified) {
/* Update the layout */
ctk_display_layout_update(ctk_object);
......@@ -4500,9 +4496,7 @@ void ctk_display_layout_set_display_rotation(CtkDisplayLayout *ctk_object,
/*!
* Sets the reflection orientation for the display.
*
* In basic mode, this function will make all modes on the display have the
* same reflection. In advanced mode, only the current mode will have its
* reflection orientation modified.
* Only the current mode will have its reflection orientation modified.
*
* If a modification occurs, this function will call the modified_callback
* handler registered, if any.
......@@ -4515,33 +4509,15 @@ void ctk_display_layout_set_display_reflection(CtkDisplayLayout *ctk_object,
nvDisplayPtr display,
Reflection reflection)
{
Bool modified = FALSE;
if (!display->cur_mode ||
!display->cur_mode->modeline) {
return;
}
if (ctk_object->advanced_mode) {
/* In advanced mode, only set the reflection of the current mode */
if (display->cur_mode->reflection != reflection) {
modified = TRUE;
}
display->cur_mode->reflection = reflection;
} else {
nvModePtr mode;
if (display->cur_mode->reflection != reflection) {
/* In basic mode, make all the modes have the same reflection */
for (mode = display->modes; mode; mode = mode->next) {
if (mode->reflection != reflection) {
mode->reflection = reflection;
modified = TRUE;
}
}
}
display->cur_mode->reflection = reflection;
if (modified) {
/* Update the layout */
ctk_display_layout_update(ctk_object);
......
......@@ -226,6 +226,7 @@ typedef struct nvModeRec {
Bool forceCompositionPipeline;
Bool forceFullCompositionPipeline;
Bool allowGSYNC;
} nvMode, *nvModePtr;
......
......@@ -77,6 +77,7 @@ static void show_ecc_toggle_warning_dlg(CtkEcc *);
static void ecc_set_config_status(CtkEcc *);
static void ecc_configuration_update_received(GObject *, CtrlEvent *, gpointer);
static void post_ecc_configuration_update(CtkEcc *);
static void reset_default_config_button_clicked(GtkWidget *, gpointer);
GType ctk_ecc_get_type(void)
{
......@@ -164,12 +165,40 @@ static gboolean update_ecc_info(gpointer user_data)
CtkEcc *ctk_ecc = CTK_ECC(user_data);
CtrlTarget *ctrl_target = ctk_ecc->ctrl_target;
int64_t val;
gboolean status;
ReturnStatus ret;
if (ctk_ecc->ecc_enabled == FALSE) {
if (!ctk_ecc->ecc_config_supported && !ctk_ecc->ecc_enabled ) {
return FALSE;
}
/*
* The ECC Configuration may be changed by non NV-CONTROL clients so we
* can't rely on an event to update the configuration state.
*/
if (ctk_ecc->ecc_config_supported) {
ret = NvCtrlGetAttribute(ctrl_target, NV_CTRL_GPU_ECC_CONFIGURATION,
&status);
if (ret != NvCtrlSuccess ||
status == NV_CTRL_GPU_ECC_CONFIGURATION_DISABLED) {
ctk_ecc->ecc_configured = FALSE;
} else {
ctk_ecc->ecc_configured = TRUE;
}
ecc_set_config_status(ctk_ecc);
}
/* If ECC is not enabled, don't query ECC details but continue updating */
if (ctk_ecc->ecc_enabled == FALSE) {
return TRUE;
}
/* Query ECC Errors */
if (ctk_ecc->sbit_error) {
......@@ -257,6 +286,20 @@ static void ecc_set_config_status(CtkEcc *ctk_ecc)
g_signal_handlers_unblock_by_func(G_OBJECT(ctk_ecc->configuration_status),
G_CALLBACK(ecc_config_button_toggled),
(gpointer) ctk_ecc);
g_signal_handlers_block_by_func
(G_OBJECT(ctk_ecc->reset_default_config_button),
G_CALLBACK(reset_default_config_button_clicked),
(gpointer) ctk_ecc);
gtk_widget_set_sensitive
(ctk_ecc->reset_default_config_button,
ctk_ecc->ecc_config_supported &&
(ctk_ecc->ecc_configured != ctk_ecc->ecc_default_status));
g_signal_handlers_unblock_by_func
(G_OBJECT(ctk_ecc->reset_default_config_button),
G_CALLBACK(reset_default_config_button_clicked),
(gpointer) ctk_ecc);
}
......@@ -296,30 +339,21 @@ static void ecc_configuration_update_received(GObject *object,
static void reset_default_config_button_clicked(GtkWidget *widget,
gpointer user_data)
{
gboolean status;
ReturnStatus ret;
CtkEcc *ctk_ecc = CTK_ECC(user_data);
CtrlTarget *ctrl_target = ctk_ecc->ctrl_target;
/* get default status and set it to ECC configuration */
ret = NvCtrlGetAttribute(ctrl_target,
NV_CTRL_GPU_ECC_DEFAULT_CONFIGURATION,
&status);
if (ret != NvCtrlSuccess) {
ctk_config_statusbar_message(ctk_ecc->ctk_config,
"Failed to get default configuration!");
return;
}
/* set default status to ECC configuration */
ret = NvCtrlSetAttribute(ctrl_target,
NV_CTRL_GPU_ECC_CONFIGURATION,
status);
ctk_ecc->ecc_default_status);
if (ret != NvCtrlSuccess) {
ctk_config_statusbar_message(ctk_ecc->ctk_config,
"Failed to set default configuration!");
return;
}
ctk_ecc->ecc_configured = status;
ctk_ecc->ecc_configured = ctk_ecc->ecc_default_status;
/* update ECC configuration button status */
ecc_set_config_status(ctk_ecc);
......@@ -385,6 +419,9 @@ static void show_ecc_toggle_warning_dlg(CtkEcc *ctk_ecc)
if (ctk_ecc->ecc_toggle_warning_dlg_shown) {
return;
}
ctk_ecc_stop_timer(GTK_WIDGET(ctk_ecc));
ctk_ecc->ecc_toggle_warning_dlg_shown = TRUE;
parent = ctk_get_parent_window(GTK_WIDGET(ctk_ecc));
......@@ -397,6 +434,8 @@ static void show_ecc_toggle_warning_dlg(CtkEcc *ctk_ecc)
"taking effect.");
gtk_dialog_run(GTK_DIALOG(dlg));
gtk_widget_destroy (dlg);
ctk_ecc_start_timer(GTK_WIDGET(ctk_ecc));
}
......@@ -431,7 +470,9 @@ static void ecc_config_button_toggled(GtkWidget *widget,
ctk_ecc->ecc_configured = enabled;
gtk_widget_set_sensitive(ctk_ecc->reset_default_config_button, TRUE);
gtk_widget_set_sensitive(ctk_ecc->reset_default_config_button,
ctk_ecc->ecc_config_supported &&
(enabled != ctk_ecc->ecc_default_status));
/* Update status bar message */
post_ecc_configuration_update(ctk_ecc);
......@@ -458,7 +499,6 @@ GtkWidget* ctk_ecc_new(CtrlTarget *ctrl_target,
gboolean dbit_error_available;
gboolean aggregate_dbit_error_available;
gboolean ecc_enabled;
gboolean ecc_default_status;
ReturnStatus ret;
gchar *ecc_enabled_string;
gchar *str = NULL;
......@@ -528,9 +568,9 @@ GtkWidget* ctk_ecc_new(CtrlTarget *ctrl_target,
&val);
if (ret != NvCtrlSuccess ||
val == NV_CTRL_GPU_ECC_DEFAULT_CONFIGURATION_DISABLED) {
ecc_default_status = FALSE;
ctk_ecc->ecc_default_status = FALSE;
} else {
ecc_default_status = TRUE;
ctk_ecc->ecc_default_status = TRUE;
}
/* Query ECC errors */
......@@ -572,6 +612,8 @@ GtkWidget* ctk_ecc_new(CtrlTarget *ctrl_target,
ecc_config_supported = 0;
}
ctk_ecc->ecc_config_supported = ecc_config_supported;
/* set container properties for the CtkEcc widget */
gtk_box_set_spacing(GTK_BOX(ctk_ecc), 5);
......@@ -720,7 +762,7 @@ GtkWidget* ctk_ecc_new(CtrlTarget *ctrl_target,
__reset_default_config_button_help);
gtk_widget_set_sensitive(ctk_ecc->reset_default_config_button,
ecc_config_supported &&
(ecc_enabled != ecc_default_status));
(ecc_enabled != ctk_ecc->ecc_default_status));
g_signal_connect(G_OBJECT(ctk_ecc->reset_default_config_button),
"clicked",
G_CALLBACK(reset_default_config_button_clicked),
......
......@@ -58,7 +58,6 @@ struct _CtkEcc
GtkWidget* dbit_error;
GtkWidget* aggregate_sbit_error;
GtkWidget* aggregate_dbit_error;
GtkWidget* ecc_config_supported;
GtkWidget* clear_button;
GtkWidget* clear_aggregate_button;
GtkWidget* reset_default_config_button;
......@@ -71,6 +70,8 @@ struct _CtkEcc
gboolean dbit_error_available;
gboolean aggregate_sbit_error_available;
gboolean aggregate_dbit_error_available;
gboolean ecc_config_supported;
gboolean ecc_default_status;
};
......
......@@ -18,7 +18,6 @@
*/
#include <gtk/gtk.h>
#include <gdk-pixbuf/gdk-pixdata.h>
#include "NvCtrlAttributes.h"
#include "NVCtrlLib.h"
......@@ -34,15 +33,15 @@
#include "ctkhelp.h"
#include "ctkevent.h"
#include "led_green_pixdata.h"
#include "led_red_pixdata.h"
#include "led_grey_pixdata.h"
#include "led_green.png.h"
#include "led_red.png.h"
#include "led_grey.png.h"
#include "rj45_input_pixdata.h"
#include "rj45_output_pixdata.h"
#include "rj45_unused_pixdata.h"
#include "rj45_input.png.h"
#include "rj45_output.png.h"
#include "rj45_unused.png.h"
#include "bnc_cable_pixdata.h"
#include "bnc_cable.png.h"
#include "parse.h"
#include "msg.h"
......@@ -4941,19 +4940,13 @@ GtkWidget* ctk_framelock_new(CtrlTarget *ctrl_target,
/* Cache images */
ctk_framelock->led_grey_pixbuf =
gdk_pixbuf_from_pixdata(&led_grey_pixdata, TRUE, NULL);
ctk_framelock->led_green_pixbuf =
gdk_pixbuf_from_pixdata(&led_green_pixdata, TRUE, NULL);
ctk_framelock->led_red_pixbuf =
gdk_pixbuf_from_pixdata(&led_red_pixdata, TRUE, NULL);
ctk_framelock->led_grey_pixbuf = CTK_LOAD_PIXBUF(led_grey);
ctk_framelock->led_green_pixbuf = CTK_LOAD_PIXBUF(led_green);
ctk_framelock->led_red_pixbuf = CTK_LOAD_PIXBUF(led_red);
ctk_framelock->rj45_input_pixbuf =
gdk_pixbuf_from_pixdata(&rj45_input_pixdata, TRUE, NULL);
ctk_framelock->rj45_output_pixbuf =
gdk_pixbuf_from_pixdata(&rj45_output_pixdata, TRUE, NULL);
ctk_framelock->rj45_unused_pixbuf =
gdk_pixbuf_from_pixdata(&rj45_unused_pixdata, TRUE, NULL);
ctk_framelock->rj45_input_pixbuf = CTK_LOAD_PIXBUF(rj45_input);
ctk_framelock->rj45_output_pixbuf = CTK_LOAD_PIXBUF(rj45_output);
ctk_framelock->rj45_unused_pixbuf = CTK_LOAD_PIXBUF(rj45_unused);
g_object_ref(ctk_framelock->led_grey_pixbuf);
g_object_ref(ctk_framelock->led_green_pixbuf);
......@@ -5035,8 +5028,7 @@ GtkWidget* ctk_framelock_new(CtrlTarget *ctrl_target,
gtk_container_add(GTK_CONTAINER(frame), padding);
/* add house sync BNC connector image */
image = gtk_image_new_from_pixbuf
(gdk_pixbuf_from_pixdata(&bnc_cable_pixdata, TRUE, NULL));
image = gtk_image_new_from_pixbuf(CTK_LOAD_PIXBUF(bnc_cable));
hbox = gtk_hbox_new(FALSE, 0);
gtk_box_pack_end(GTK_BOX(hbox), image, FALSE, FALSE, 0);
......
......@@ -283,20 +283,20 @@ GtkWidget* ctk_opengl_new(CtrlTarget *ctrl_target,
GtkAdjustment *adjustment;
GtkWidget *menu;
gint sync_to_vblank;
gint flipping_allowed;
gint gsync_allowed;
gint show_gsync_visual_indicator;
gint force_stereo;
gint xinerama_stereo;
gint stereo_eyes_exchange;
gint stereo_swap_mode;
gint sync_to_vblank = 0;
gint flipping_allowed = 0;
gint gsync_allowed = 0;
gint show_gsync_visual_indicator = 0;
gint force_stereo = 0;
gint xinerama_stereo = 0;
gint stereo_eyes_exchange = 0;
gint stereo_swap_mode = 0;
CtrlAttributeValidValues image_settings_valid;
gint image_settings_value;
gint aa_line_gamma;
gint use_conformant_clamping;
gint show_sli_visual_indicator;
gint show_multigpu_visual_indicator;