STDMETHODIMP ia2AccessibleValue::setCurrentValue(VARIANT aValue) { if (aValue.vt != VT_R8) return E_INVALIDARG; AccessibleWrap* valueAcc = static_cast<AccessibleWrap*>(this); MOZ_ASSERT(!valueAcc->IsProxy()); if (valueAcc->IsDefunct()) return CO_E_OBJNOTCONNECTED; return valueAcc->SetCurValue(aValue.dblVal) ? S_OK : E_FAIL; }
static gboolean setCurrentValueCB(AtkValue *obj, const GValue *value) { ProxyAccessible* proxy = nullptr; AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(obj)); if (!accWrap) { proxy = GetProxy(ATK_OBJECT(obj)); if (!proxy) { return FALSE; } } double accValue =g_value_get_double(value); return accWrap ? accWrap->SetCurValue(accValue) : proxy->SetCurValue(accValue); }