diff options
author | Tobias Droste <tdroste@gmx.de> | 2010-09-29 22:51:48 +0200 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2010-09-29 14:41:53 -0700 |
commit | c7e4222c9a27094ce4fc2831ac92acbb7b21fb1a (patch) | |
tree | ac0596aaff9921f3567e47f6df1d0832031b55ba /randr/rrmode.c | |
parent | 72a9c686d7ecaa68d27687b316dbba92902809b4 (diff) |
randr: set error numbers of resource types in RRExtenstionInit() (V2)
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=30367
Currently the ddx calls xf86RandR12Init()
(-> RRScreenInit()
-> RRInit()
-> RRModeInit()
-> RRCrtcInit()
-> RROutputInit())
before RRExtensionInit() is called. This causes RRErrorBase
being 0 while setting resource type error values (resource types:
RROutput, RRMode and RRCrtc). The fix moves the setting of error
values to own functions which are called in RRExtensionInit()
to get the right RRErrorBase.
V2: With header file
Signed-off-by: Tobias Droste <tdroste@gmx.de>
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'randr/rrmode.c')
-rw-r--r-- | randr/rrmode.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/randr/rrmode.c b/randr/rrmode.c index deddd3c0c..5ffa4006f 100644 --- a/randr/rrmode.c +++ b/randr/rrmode.c @@ -260,6 +260,9 @@ RRModeDestroyResource (pointer value, XID pid) return 1; } +/* + * Initialize mode type + */ Bool RRModeInit (void) { @@ -268,10 +271,19 @@ RRModeInit (void) RRModeType = CreateNewResourceType (RRModeDestroyResource, "MODE"); if (!RRModeType) return FALSE; - SetResourceTypeErrorValue(RRModeType, RRErrorBase + BadRRMode); + return TRUE; } +/* + * Initialize mode type error value + */ +void +RRModeInitErrorValue(void) +{ + SetResourceTypeErrorValue(RRModeType, RRErrorBase + BadRRMode); +} + int ProcRRCreateMode (ClientPtr client) { |