(API Change) Remove pointers from all typedefs

Typedef pointers are unsafe.  If you do:
typedef struct bla *bla_t;
then you cannot use it as a constant, such as: const bla_t, because
that constant will be to the pointer itself rather than to the
underlying data.  I admit this was a fundamental mistake that must
be corrected.

All typedefs that were pointer types will now have their pointers
removed from the type itself, and the pointers will be used when they
are actually used as variables/parameters/returns instead.

This does not break ABI though, which is pretty nice.
This commit is contained in:
jp9000
2014-09-25 17:44:05 -07:00
parent 4a06960188
commit c9df41c1e2
146 changed files with 3105 additions and 3079 deletions

View File

@@ -47,11 +47,11 @@ void XCompcapMain::deinit()
XCompcap::cleanupDisplay();
}
obs_properties_t XCompcapMain::properties()
obs_properties_t *XCompcapMain::properties()
{
obs_properties_t props = obs_properties_create();
obs_properties_t *props = obs_properties_create();
obs_property_t wins = obs_properties_add_list(props, "capture_window",
obs_property_t *wins = obs_properties_add_list(props, "capture_window",
obs_module_text("Window"),
OBS_COMBO_TYPE_LIST, OBS_COMBO_FORMAT_STRING);
@@ -86,7 +86,7 @@ obs_properties_t XCompcapMain::properties()
return props;
}
void XCompcapMain::defaults(obs_data_t settings)
void XCompcapMain::defaults(obs_data_t *settings)
{
obs_data_set_default_string(settings, "capture_window", "");
obs_data_set_default_int(settings, "cut_top", 0);
@@ -126,7 +126,7 @@ struct XCompcapMain_private
pthread_mutexattr_destroy(&lockattr);
}
obs_source_t source;
obs_source_t *source;
Window win;
int cut_top, cur_cut_top;
@@ -142,8 +142,8 @@ struct XCompcapMain_private
Pixmap pixmap;
GLXPixmap glxpixmap;
gs_texture_t tex;
gs_texture_t gltex;
gs_texture_t *tex;
gs_texture_t *gltex;
pthread_mutex_t lock;
pthread_mutexattr_t lockattr;
@@ -154,7 +154,7 @@ struct XCompcapMain_private
};
XCompcapMain::XCompcapMain(obs_data_t settings, obs_source_t source)
XCompcapMain::XCompcapMain(obs_data_t *settings, obs_source_t *source)
{
p = new XCompcapMain_private;
p->source = source;
@@ -250,7 +250,7 @@ static void xcc_cleanup(XCompcapMain_private *p)
}
}
void XCompcapMain::updateSettings(obs_data_t settings)
void XCompcapMain::updateSettings(obs_data_t *settings)
{
PLock lock(&p->lock);
XErrorLock xlock;
@@ -468,14 +468,14 @@ void XCompcapMain::tick(float seconds)
obs_leave_graphics();
}
void XCompcapMain::render(gs_effect_t effect)
void XCompcapMain::render(gs_effect_t *effect)
{
PLock lock(&p->lock, true);
if (!lock.isLocked() || !p->tex)
return;
gs_eparam_t image = gs_effect_get_param_by_name(effect, "image");
gs_eparam_t *image = gs_effect_get_param_by_name(effect, "image");
gs_effect_set_texture(image, p->tex);
gs_enable_blending(false);

View File

@@ -8,16 +8,16 @@ class XCompcapMain
static bool init();
static void deinit();
static obs_properties_t properties();
static void defaults(obs_data_t settings);
static obs_properties_t *properties();
static void defaults(obs_data_t *settings);
XCompcapMain(obs_data_t settings, obs_source_t source);
XCompcapMain(obs_data_t *settings, obs_source_t *source);
~XCompcapMain();
void updateSettings(obs_data_t settings);
void updateSettings(obs_data_t *settings);
void tick(float seconds);
void render(gs_effect_t effect);
void render(gs_effect_t *effect);
uint32_t width();
uint32_t height();

View File

@@ -2,7 +2,7 @@
#include "xcompcap-main.hpp"
static void* xcompcap_create(obs_data_t settings, obs_source_t source)
static void* xcompcap_create(obs_data_t *settings, obs_source_t *source)
{
return new XCompcapMain(settings, source);
}
@@ -19,7 +19,7 @@ static void xcompcap_video_tick(void* data, float seconds)
cc->tick(seconds);
}
static void xcompcap_video_render(void* data, gs_effect_t effect)
static void xcompcap_video_render(void* data, gs_effect_t *effect)
{
XCompcapMain* cc = (XCompcapMain*)data;
cc->render(effect);
@@ -37,17 +37,17 @@ static uint32_t xcompcap_getheight(void* data)
return cc->height();
}
static obs_properties_t xcompcap_props(void)
static obs_properties_t *xcompcap_props(void)
{
return XCompcapMain::properties();
}
void xcompcap_defaults(obs_data_t settings)
void xcompcap_defaults(obs_data_t *settings)
{
XCompcapMain::defaults(settings);
}
void xcompcap_update(void *data, obs_data_t settings)
void xcompcap_update(void *data, obs_data_t *settings)
{
XCompcapMain* cc = (XCompcapMain*)data;
cc->updateSettings(settings);

View File

@@ -95,8 +95,8 @@ void xcursor_tick(xcursor_t *data) {
}
void xcursor_render(xcursor_t *data) {
gs_effect_t effect = gs_get_effect();
gs_eparam_t image = gs_effect_get_param_by_name(effect, "image");
gs_effect_t *effect = gs_get_effect();
gs_eparam_t *image = gs_effect_get_param_by_name(effect, "image");
gs_effect_set_texture(image, data->tex);
gs_matrix_push();

View File

@@ -30,7 +30,7 @@ typedef struct {
unsigned long last_serial;
uint_fast32_t last_width;
uint_fast32_t last_height;
gs_texture_t tex;
gs_texture_t *tex;
int_fast32_t x, y;
int_fast32_t x_org;

View File

@@ -35,7 +35,7 @@ struct xshm_data {
int_fast32_t width, height;
xshm_t *xshm;
gs_texture_t texture;
gs_texture_t *texture;
bool show_cursor;
xcursor_t *cursor;
@@ -66,7 +66,7 @@ static void xshm_resize_texture(struct xshm_data *data)
* @return < 0 on error, 0 when size is unchanged, > 1 on size change
*/
static int_fast32_t xshm_update_geometry(struct xshm_data *data,
obs_data_t settings)
obs_data_t *settings)
{
int_fast32_t old_width = data->width;
int_fast32_t old_height = data->height;
@@ -116,7 +116,7 @@ static const char* xshm_getname(void)
/**
* Update the capture with changed settings
*/
static void xshm_update(void *vptr, obs_data_t settings)
static void xshm_update(void *vptr, obs_data_t *settings)
{
XSHM_DATA(vptr);
@@ -144,7 +144,7 @@ static void xshm_update(void *vptr, obs_data_t settings)
/**
* Get the default settings for the capture
*/
static void xshm_defaults(obs_data_t defaults)
static void xshm_defaults(obs_data_t *defaults)
{
obs_data_set_default_int(defaults, "screen", 0);
obs_data_set_default_bool(defaults, "show_cursor", true);
@@ -153,9 +153,9 @@ static void xshm_defaults(obs_data_t defaults)
/**
* Get the properties for the capture
*/
static obs_properties_t xshm_properties(void)
static obs_properties_t *xshm_properties(void)
{
obs_properties_t props = obs_properties_create();
obs_properties_t *props = obs_properties_create();
int_fast32_t screen_max;
Display *dpy = XOpenDisplay(NULL);
@@ -203,7 +203,7 @@ static void xshm_destroy(void *vptr)
/**
* Create the capture
*/
static void *xshm_create(obs_data_t settings, obs_source_t source)
static void *xshm_create(obs_data_t *settings, obs_source_t *source)
{
UNUSED_PARAMETER(source);
@@ -260,14 +260,14 @@ static void xshm_video_tick(void *vptr, float seconds)
/**
* Render the capture data
*/
static void xshm_video_render(void *vptr, gs_effect_t effect)
static void xshm_video_render(void *vptr, gs_effect_t *effect)
{
XSHM_DATA(vptr);
if (!data->xshm)
return;
gs_eparam_t image = gs_effect_get_param_by_name(effect, "image");
gs_eparam_t *image = gs_effect_get_param_by_name(effect, "image");
gs_effect_set_texture(image, data->texture);
gs_enable_blending(false);